C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■89161 / )  Re[5]: C# 定数テーブル
□投稿者/ 774RR (643回)-(2018/11/02(Fri) 16:00:55)
いや C++ の static const はコンパイル時に命令語に展開されることを期待するものです。

static const int myconst = 3;
int func() { return myconst; }
なる関数を作ったら機械語で "MOV.L #3, R1" になることをプログラマは期待します。
機械語レベルでイミディエイトになれば「変数」を参照する必要がないわけで、
リンク時最適化により myconst なる変数は消去されることすら期待されています。
(それを究極まで進めたのが constexpr )

C# で static const int MySize = 4; と書いたら怒られたのが衝撃的でした。


返信 編集キー/


管理者用

- Child Tree -