5
ความสับสนในการแปลง stringstream, string และ char *
คำถามของฉันสามารถต้มลงไปที่ใดสตริงกลับมาจากการstringstream.str().c_str()มีชีวิตอยู่ในความทรงจำและทำไมไม่สามารถที่จะได้รับมอบหมายให้const char*? ตัวอย่างโค้ดนี้จะอธิบายได้ดีกว่าที่ฉันสามารถทำได้ #include <string> #include <sstream> #include <iostream> using namespace std; int main() { stringstream ss("this is a string\n"); string str(ss.str()); const char* cstr1 = str.c_str(); const char* cstr2 = ss.str().c_str(); cout << cstr1 // Prints correctly << cstr2; // ERROR, prints out garbage system("PAUSE"); return 0; } การสันนิษฐานที่stringstream.str().c_str()สามารถมอบหมายให้const …
141
c++
string
memory
stringstream