と楽しい:C++プログラミング謎、次のコードスニペットを考えると関数ポインタ
#include <string>
#include <iostream>
int main()
{
std::string prefix("->"), middle(), suffix("<-");
std::cout << "Test: " << prefix << middle << suffix << std::endl;
return 0;
}
高度なC++プログラマはなく、ただちにそれは関数宣言だ、middle()
はstd::string
のデフォルトのctorを呼び出していないことがわかります。
はしかし興味深い情報:Visual Studioののリンカエラーとは対照的に
Test: ->1<-
:なぜgccは、次の出力を生成しますか?誰がここで何が起こっているのか知っていますか? cout
で使用する場合
私はdownvoteとこの質問(トピック以外)の緊急の要求を持っている、誰かが多分私に理由を教えてくれますか?そのような質問は本当にSOの話題ですか? –