クラスMyClass1の静的データバッファに格納されている、クラスタイプMyClass2のオブジェクトへの静的で定数ポインタを初期化します。インスタンス化されます。スタティックメモリバッファへのスタティックconstポインタを作成するには、newを使用してください。
これは動作しません:
class MyClass1 {
public:
MyClass1()
{
_my_class_2_ptr = new (_my_class_2_buf) MyClass2();
}
private:
static MyClass2 *const _my_class_2_ptr;
static char *_my_class_2_buf = new char[sizeof(MyClass2)];
};
はこのような何かを達成する方法はありますか?
。静的変数はクラスに共通なので、クラスがインスタンス化されるたびにそれらを再初期化することは意味がないと思います。しかし、この場合、私はMyClass1をシングルトンにしたかったので、それは一度だけインスタンス化することができるので、本当に問題ではないと思います。 – Bitrex
std :: aligned_storage :: typeの 'type'がありません - 非常に悪いです! –
@DieterLücking彼は 'aligned_storage'を使用していません。 –