J'ai ce petit programme.Comportement étrange de std :: string
#include <iostream>
#include <string>
int main()
{
std::string st = ('='+"10");
std::cout<<st<<"-"<<st.c_str();
return 0;
}
Quel type de sortie attendez-vous sans l'exécuter?
Je reçois: -
Je suis en cours d'exécution dans ces problèmes lors de l'utilisation boost :: bibliothèque esprit et qui passe sa sortie autour comme c-strings.
Ai-je raté quelque chose? J'utilise gcc 4.6.1 (ubuntu 10.10).
Notez que les littéraux de chaîne adjacents sont combinés par le compilateur: '" = "" 10 "' devient '" = 10 "' (C++ 03, § 2.13.4-3). – outis