- 305 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 18:08:50 ]
- C++ が C と比較してコンパイル結果を予想しにくくしているものは以下のよう
なものがあると思う。逆にこれらを使わなければほぼ予想通りのコンパイル結果 になるはずだ。 - 非 static メンバー関数の暗黙の this の存在 - コンストラクタからの基本クラスとメンバ変数のコンストラクタ自動呼び出し - デストラクタからの基本クラスとメンバ変数のデストラクタ自動呼び出し - 静的変数のコンストラクタとデストラクタの呼び出しとそのタイミング - コンストラクタを持つ静的局所変数の暗黙の初期化チェック - 自動変数のデストラクタの呼び出し - 暗黙の型変換の呼び出し - 一時オブジェクトのデストラクタの呼び出し - 仮想関数の呼び出しオーバーヘッド - 実行時型情報の時間コストと空間コスト - 多重継承と仮想基本クラスによるオーバーヘッド - メンバーポインタ操作の時間コスト - 例外処理の時間コスト (特にデストラクタを持つ自動変数が存在するとき) - inline 関数の出力コード (ただし大域最適化したときはCでも同じ) - 複雑なテンプレートの出力コード - 実体を持たない const 変数がある (ただし大域最適化したときはCでも同じ)
|

|