“类禁止复制”是什么意思?
刚才再看V8引擎的代码,看到:
class V8EXPORT AsciiValue {
public:
explicit AsciiValue(Handle<v8::Value> obj);
~AsciiValue();
char* operator*() { return str_; }
const char* operator*() const { return str_; }
int length() const { return length_; }
private:
char* str_;
int length_;
// Disallow copying and assigning. 这句话是什么意思?
AsciiValue(const AsciiValue&);
void operator=(const AsciiValue&);
};
把AsciiValue(const AsciiValue&); 放在private权限,这句是什么意思,如果不是private的话,一般是怎么调用的呢
[解决办法]
就是说这个类不能调用拷贝构造函数和=赋值操作符
[解决办法]
一般这个设计都是希望这个类的每个实例保持独立
[解决办法]
[解决办法]
[解决办法]
还有把构造函数放在private里的
不允许自动创建对象
必须手动调用其他的成员函数来简介构造对象。
cpp里变态的东西多了去了