Ceci est une application de console en Visual Studio et donc je voulais voir ce qui s'est passé si j'ai appelé un cout
dans un cout
. Et ça marche un peu mais ça enlève un personnage qui est un peu bizarre. Donc, il supprime la quantité de caractères de la string
dans le cout
dans le main
. Donc, il supprime autant de caractères à la valeur du retour de la fonction doPrint()
.C++ string cout caractère perdu
Exemple: si la valeur de retour est 1, il affichera « AAAAABLLLLLLLLLL » si la valeur de retour est de 2 sortie sera « 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;
}
Ce n'est pas un gros problème mais je aimerait savoir pourquoi cela arrive. Merci déjà.
P.S: Je sais que je devrais faire <<
au lieu de +
' "BBLLLLLLLLLL" + DoPrint()' ne certainement pas ce que vous pourriez être pensez. Lisez à propos de aritmethics pointeur. –
Cela peut être simplifié en 'int main() {std :: cout <<" ABC \ n "+ 1; } ' – melpomene