Dies ist eine Konsolenanwendung in Visual Studio und so wollte ich sehen, was passiert ist, wenn ich eine cout
in einer cout
aufgerufen. Und es funktioniert irgendwie, aber es entfernt einen Charakter, der irgendwie komisch ist. So entfernt es die Anzahl der Zeichen aus der string
in der cout
in der main
. So entfernt es so viele Zeichen zum Wert der Rückkehr der doPrint()
Funktion.C++ string cout Zeichen verloren
Beispiel: wenn der Rückgabewert 1 gibt er „AAAAABLLLLLLLLLL“ wenn der Rückgabewert 2 gibt er „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;
}
Es ist nicht, dass von einem Abkommen groß ist, aber ich würde gerne wissen, warum das passiert. Danke schon.
P. S: Ich weiß, ich <<
statt +
' "BBLLLLLLLLLL" + DoPrint()' tut sicherlich nicht das, was Sie denken, kann es der Fall ist. Lesen Sie über Pointer Arithmetik. –
Dies kann vereinfacht werden zu: int main() {std :: cout << "ABC \ n" + 1; } ' – melpomene