C++相談室 part28
■ このスレッドは過去ログ倉庫に格納されています
0507デフォルトの名無しさん
NGNG設計がおかしい。それだとまともにコピーできない。
class A {
int *p;
std::size_t size;
public:
A(int i = 0) : p(new int[i]) {}
~A() {delete []p;}
A &operator=(const A &ca) {
idelete []p; p = new int[ca.size]; std::copy(ca.p, ca.p+ca.size, p); return *this;
}
void Init(int i = 0) {*this = A(i);}
};
これで(例外安全は別にして)問題ないはずだが?
■ このスレッドは過去ログ倉庫に格納されています