const は定数じゃないからです。 RT @naota344: なんでgcc const int size=10; int hoge[size]; 使えないのんです?
2010-08-09 18:50:23@ta6ra http://seclan.dll.jp/c99d/c99d04.htm#dt19990719
2010-08-09 18:54:17“@SubaruG: const は定数じゃないからです。 RT @naota344: なんでgcc const int size=10; int hoge[size]; 使えないのんです?” む…むむ?勉強し直さないと…orz
2010-08-09 18:56:19というか、constなものを配列のサイズに使える時使えない時ある気がする。よくわからず使えないとdefineしちゃうかわいそうな子
2010-08-09 18:58:27TOMOYOさんでカーネルの中でそんなコード使ってたとこが昔あった気がする。なんかコンパイラがSEGVしてたけど…
2010-08-09 19:00:16固定サイズの配列を定義するときは enum { size = 10 }; をですね... とか言ったら怒られるんでしょーか。
2010-08-09 19:00:40static cosnt size_t n = 0; は定数。const size_t n = 0; はconstオブジェクト。
2010-08-09 19:01:22ただallocaで実装されてると思うので、sizeが未知の時はチェックを併用するなりなんなりしないと危険だと思う。いや、sizeがいくつ未満なら安全なのか知る術があるかは別として。
2010-08-09 19:04:20C++のconstは、そのスコープの内側で変更操作することを許さない、という意味で、immutableっていうのとはちょと違うんじゃないすかね。
2010-08-09 19:05:01単にimmutableっていうだけだと、オブジェクトのゆりかごから墓場まで絶対に変更しない、という意味なのかどうかってところが曖昧かと。
2010-08-09 19:06:34縛りプレイ RT @nyaocat C++を放棄してCでするメリットが分からない……。Cで出来てC++で出来ない事とかあったっけ。
2010-08-09 19:08:41