. @n_soda @egtra ああ、やっぱり g++ 拡張?本当にやめてほしい…。VC++ 拡張も死ねくらいに思っているので。
2011-05-26 14:07:02こんな低レベルな領域確保について、資料嫁だの twitter で問い合わせる (応答 thx lot!) という構図が、C の終わりを告げている気がするんだよなあ…
2011-05-26 14:08:30元は gcc 拡張じゃなかったの? QT @n_soda: mskwt egtra gcc拡張ではありません。C言語1999年版の標準機能です。
2011-05-26 14:10:40http://ideone.com/hdFnz スタック上に好きな長さの配列置けるってこれ地味に画期的な機能な気がするんですけど…。ヒープ触らずに済むとか素敵過ぎる。
2011-05-26 14:15:17@kikairoya @scared_fox allocaを知らなかったです。実行時にサイズはわかるんだけど上限は規定できなくて…っていう場面で泣く泣くヒープを使ってたので今度からallocaを使おうと思います。
2011-05-26 14:20:25@kumagi @kikairoya @scared_fox いや可変長配列で済むなら、allocaより可変長配列を使う方がいいと思いますよ。
2011-05-26 14:30:23@kumagi 可変長配列はC99の仕様なのでコンパイラを問わずに使えると思います。VLAはallocaよりpointer aliasを減らせる点が有利です。ただ私が勘違いしていたのですがC++は仕様としてVLAが使えないので、C++ならallocaを使う方が行儀がいいです。
2011-05-26 15:09:45@koie @kumagi まあそれ言い出すと再帰だって使えなくなるわけで、スタックサイズを見積もって対策とるのはプログラマの責任ですな。あんまりでかい配列はとっちゃ駄目でしょう。
2011-05-26 14:23:19alloca とか、user stack が thread-safe である以上、thread-safe だからなあ (例外はありそうな気がする)
2011-05-26 14:23:39