http://d.hatena.ne.jp/Cryolite/20051021#p1 の問題に対する解答. まず大前提として,未初期化な領域に配置構文 new を用いてオブジェクトを構築する手法は潜在的な危険が多く,本当にそれが必要な場合以外は用いないという方針が基本であることを確認しておいてください. まず最初に自動変数として(スタック上に)確保した char の配列に任意のオブジェクトを構築する場合についてです. class MyClass { ..... }; int main() { char buf[sizeof(MyClass)]; MyClass *p = static_cast<MyClass *>(static_cast<void *>(buf)); ::new (p) MyClass(); ..... // #1 p->~MyClass(); }上のコードはアラインメン
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く