C/C++小心者スレッドPart1
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
450:デフォルトの名無しさん 09/08/25 16:02:08 >>442,444 で、文意を汲みとってあげると 1) MyObj a; 2) MyObj* a = new MyObj; だとして、C++でさえ1がスタックで2がヒープとは限らない。 まあ普通に使われるWindowsやUNIXの処理系なら、前者はグローバル変数 やstatic変数じゃない自動変数ならスタックに確保されて、後者は operator newで変なことしてなければヒープに置かれると思う。 C#やJavaでどうなるかは、処理系のソースを見たことないので何とも言 えない。処理系がじゅうぶん賢ければ、newしてたってスタック上にオブ ジェクトを置くことは技術的に可能だと思う。 451:デフォルトの名無しさん 09/08/25 16:52:40 newするオブジェクトの実態をスタックに置く最適化は「エスケープ解析」という名称で有名。Javaはやっている。 逆に、MyObj a;をヒープに置くのは、C++/CLI(VC++で.NET Frameworkを対象にコンパイルしたとき)で行われることがある。 まあ、そんな例外的な事象もある。 452:デフォルトの名無しさん 09/08/25 16:58:20 >>449 AfxEndThreadは呼んでるのかな
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
4746日前に更新/246 KB
担当:undef