在C++程序中会频繁地使用到字符串,很多信息是作为字符串保存在内存中的。字符串类是C++程序中常用的类之一,比如MFC中的CString类、C++标准库中的string(ANSI窄字节版本)和wstring(UNICODE宽字节版本)类。
C++程序员在面试时时常会遇到字符串相关的问题,比如一个很经典关于字符串的笔试题,给定一个String类的头文件:
class String
{
public:
String(const char *str = NULL); // 普通构造函数
String(const String &other); // 拷贝构造函数
~String(void); // 析构函数
String & operator = (const String &other); // 赋值函数
private:
char *m_data; // 用于保存字符串
};
让实现该String类的普通构造函数 、拷贝构造函数 、析构函数和赋值函数的代码。该题主要用来考察处理字符串的基本功以及对浅拷贝与深拷贝的理解。