คำถามติดแท็ก cstring

7
std :: string :: c_str () อายุการใช้งานคืออะไร?
ในโปรแกรมของฉันฉันต้องเชื่อมต่อกับรหัสเดิมที่ใช้งานconst char*ได้ สมมติว่าฉันมีโครงสร้างที่ดูเหมือน: struct Foo { const char* server; const char* name; }; แอปพลิเคชันระดับสูงกว่าของฉันเกี่ยวข้องเท่านั้นstd::stringดังนั้นฉันจึงคิดที่std::string::c_str()จะใช้เพื่อรับconst char*ตัวชี้กลับ แต่อายุการใช้งานc_str()คืออะไร? ฉันสามารถทำสิ่งนี้โดยไม่ต้องเผชิญกับพฤติกรรมที่ไม่ได้กำหนดได้หรือไม่? { std::string server = "my_server"; std::string name = "my_name"; Foo foo; foo.server = server.c_str(); foo.name = name.c_str(); // We use foo use_foo(foo); // Foo is about to be destroyed, before name and server …
100 c++  string  cstring 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.