C ++でクラスのコピーを禁止したい場合、通常はプライベート演算子=とコピーコンストラクターを宣言し、それらを実装しません。
class MyClass
{
char* _str;
int _len;
MyClass(const MyClass& rhs); //No implementation
MyClass& operator=(const MyClass& rhs); //No implementation
public:
MyClass();
MyClass(const char *);
}
これは悪いスタイルと見なされますか?これを行う別の方法はありますか?