■No89156 (774RR さん) に返信 > 現状 static readonly UInt16[] crc16table = {...}; として実用上の問題はないのですが > 根っからの native C/C++er としては初期値一覧と実際に使われる配列が別領域に配置されるか否かが > 微妙にというかとても気になります。今の時点で IL 読んでる暇がないっす。 > > C# で最初にハマったのが const > C# の const って真に const なので C++ でいう static const なのね。驚き。 C++勉強不足なので、質問したいのですけど。 C#だとたとえば、 ClassLibrary1.dll public class Class1 { public const int NConst = 10000; } App.exe /// <summary> /// コンソールアプリ /// </summary> static class Program { static void Main() { Console.WriteLine(ClassLibrary1.Class1.NConst); } } としていったんビルドし、そのあとApp.exeを別の場所においておいてDllの方のNConstを1にしてビルドして、 別の場所のApp.exeのところにDllを持っていって動かすと、変更後の「1」ではなく「10000」が出ます。 このような動きになる定数がc++のstatic constっていうのでしょうか?
- Child Tree -