【初心者歓迎】C/C++室 Ver.57【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0490デフォルトの名無しさん
2008/07/29(火) 09:24:49const std::string& GeRefOfFuncStaticString(int n)
{
static std::string str = boost::lexical_cast<std::string>(n);
return str;
}
これ static のところ、いつ初期化されるんだ? 今までプログラム
起動時(main以前)だと思ってたんだが、nが関数の呼び出し時に
決まるじゃん。
内部で
if(関数の初回呼び出しなら){
str = boost::lexical_cast<std::string>(n);
}
みたいなコードにコンパイルされるわけ?
>>484の挙動見ているとそう見えるんだが…
■ このスレッドは過去ログ倉庫に格納されています