构造一个String类】的更多相关文章

今天帮着一位大二的学弟写了一个String的类,后来一想这个技术点,也许不是什么难点,但是还是简单的记录一些吧! 为那些还在路上爬行的行者,剖析一些基本的实现..... 内容写的过于简单,没有涉及到其他格式的如考虑utf_8.这儿单纯的考虑了char的使用....... #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<stdlib.h> #include<string.h> #include<…
#include "stdafx.h" #include<iostream> #include<string.h> using namespace std; //类的成员函数中,有一些是加了const修饰符的,表示这个函数不会对类的成员进行修改,一些函数的输入参数也加了const修饰,表示该函数不会改变这个参数的值 class String { public: String(const char *str = NULL); //通用构造函数,没值的时候,用NUL…
C++自己实现一个String类(构造函数.拷贝构造函数.析构函数和字符串赋值函数) #include <iostream> #include <cstring> using namespace std; class String{ public: // 默认构造函数 String(const char *str = nullptr); // 拷贝构造函数 String(const String &str); // 析构函数 ~String(); // 字符串赋值函数 St…
实现要实现:构造,析构,拷贝构造,赋值的功能 1. 提供构造函数 string(), string(const string & str),string(const  char * str), 2. 析构函数: ~ string() 3. 成员函数(重载赋值函数):string &operator=(const string & str); 利用已有的string对象赋值 string & operator=(const char * str);// 直接用字符串赋值用ch…
直接贴代码吧,这段时间准备面试也正好练习了一下. class String { public: String(const char *str = ""); ~String(void); String(const String &other); String &operator =(const String &other); size_t size(void) const; const char *c_str(void); private: char *m_str…
为了复习c++知识,简单的实现一个string类,类名为CMyString 环境说明:windows 7 64位 和 CentOS Linux release 7.6.1810 (Core) 开发工具:Visual Studio 2015 和 g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36) CMyString类的头文件CMyString.h #include <iostream> #ifndef __C_MY_STRING__ #define __C_M…
构造一个string的其他方法: 1string s1(cp, n),cp为c风格数组名或一个指向C风格数组的指针,则执行的操作为拷贝从cp开始包括cp在内的接下来n个字符给s1,n的默认值为sizeof(cp)/sizeof(int.char).可以自由设定第一个参数(cp+1, cp+2,) 2string s2(s, pos, len), s为一个string类型字符串,则执行的操作是将从下标为pos的字符开始,把包括s[pos]在内的往后len个字符拷贝给s2.   pos必须小于等于s…
C++ 的一个常见面试题是让你实现一个 String 类,限于时间,不可能要求具备 std::string 的功能,但至少要求能正确管理资源.具体来说: 能像 int 类型那样定义变量,并且支持赋值.复制. 能用作函数的参数类型及返回类型. 能用作标准库容器的元素类型,即 vector/list/deque 的 value_type.(用作 std::map 的 key_type 是更进一步的要求,本文从略). 换言之,你的 String 能让以下代码编译运行通过,并且没有内存方面的错误. vo…
1.概念 Scott Meyers在<More Effective C++>中举了个例子,不知你是否还记得?在你还在上学的时候,你的父母要你不要看电视,而去复习功课,于是你把自己关在房间里,做出一副正在复习功课的 样子,其实你在干着别的诸如给班上的某位女生写情书之类的事,而一旦你的父母出来在你房间要检查你是否在复习时,你才真正捡起课本看书.这就是“拖延战 术”,直到你非要做的时候才去做. 当然,这种事情在现实生活中时往往会出事,但其在编程世界中摇身一变,就成为了最有用的技术,正如 C++中的可…
写了常见的几个而已. 1:new 一个String类的时候系统会自动传一个空构造 public String(); 注意: 当对象初始化是 null时 和 对象是 "" 时,两者是有区别的. 前者是一个空值,不能调用String类里面的任何方法否则报空指针异常,后者是可以的. 2:  字节数组转成字符串(解码) public String(byte[] bytes): 因为计算机只识别0和1 所以需要解码: 如:byte[] by = {97,98,99}; String s  = n…