【初心者歓迎】C/C++室 Ver.74【環境依存OK】
レス数が950を超えています。1000を超えると書き込みができなくなります。
0976デフォルトの名無しさん
2011/03/03(木) 23:17:58.81こういうライブラリで静的な変数をうまく初期化する方法はあるでしょうか?
すぐに考え付く方法として、関数のスコープで静的な局所変数を宣言し関数の戻り値として利用する方法です。
int const * getData()
{
static int const data[] = { 1, 2, 3, 4, 5 };
return data;
}
この方法は、現行のC++ではスレッドを利用した時に破綻します。(C++0xでは保障されるようです。)
しかし、ヘッダー内で普通に大域変数として初期化すると、DLLとDLLを利用するプログラムの両方に
実体が出来るため、リンクに失敗します。
こういう場合、一体どうすればいいのでしょう?
レス数が950を超えています。1000を超えると書き込みができなくなります。