ユーザ用ツール

サイト用ツール


サイドバー

C++/CLI

CLR

実用編

その他

cli:literalとstatic_const

literalとstatic const

以下のファイルをライブラリとしてコンパイルしてstcdll.dllを作るとします。

namespace stcdll {
    public ref class C
    {
    public:
        static const int SCI = 1;
        literal int LI = 2;
    };
}

このstcdll.dllを使うプログラムを考えます。

#using "stcdll.dll"
int main()
{
    int a[stcdll::C::LI];   // OK
    int b[stcdll::C::SCI];  // Error
    return 0;
}

literalで宣言した変数はコンパイル時でも値が読めるが、static constの方は読めない。

Visual C++ 2005 EEだと、実行時にstatic constの値を読むとアプリが落ちる。(おそらくバグ)




/var/www/html/virtual/cppcli/data/pages/cli/literalとstatic_const.txt · 最終更新: 2013/12/23 09:08 (外部編集)