これはVisual Studioのコンソールアプリケーションですので、cout
をcout
で呼び出すと何が起こったのか見たいと思っていました。それはまあまあですが、それはちょっと奇妙な文字を取り除きます。したがって、main
のcout
にあるstring
の文字数が削除されます。したがって、それは多くの文字をdoPrint()
関数の戻り値に削除します。C++の文字列の文字が失われました
例: 戻り値が1であれば、それが出力されます「AAAAABLLLLLLLLLL」 戻り値が2であれば、それが出力されます「AAAAALLLLLLLLLL」それは取り引きが、私の大きなではありません
#include "stdafx.h"
#include <iostream>
int doPrint()
{
std::cout << "AAAAA" << std::endl;
return 1;
}
int main()
{
std::cout << "BBLLLLLLLLLL" + doPrint() << std::endl;
int x;
std::cin >> x;
return 0;
}
なぜこれが起こるのか知りたいです。 ありがとうございました。
P.S:私は、私が代わりに+
' "BBLLLLLLLLLL"
std::ostream& operator<<(std::otream&, const char*)
std::cout << "AAAAA" << std::endl;
"BBLLLLLLLLLL" + 1
を呼び出す+ doPrintは()'確かにあなたはそれがないと思うかもしれ何をしません。ポインタaritmethicsについて読んでください。 –これは 'int main(){std :: cout <<" ABC \ n "+ 1; } – melpomene