| 发表于:2007-01-23 12:19:115楼 得分:0 |
我是lz; 请问c++ primer里的几个问题,程序: class string { public: // char* 的赋值操作符 string& operator=( const char * ); // .... private: int _size; char *_string; }; string& string::operator=( const char *sobj ) { // sobj 是个空指针 if ( ! sobj ) { _size = 0; delete[] _string; _string = 0; } else { _size = strlen( sobj ); delete[] _string; _string = new char[ _size + 1 ]; strcpy( _string, sobj ); } return *this; } delete[] _string; 是什么意思?它又没有new,怎么就delete了? | | |
|