Rumah >pembangunan bahagian belakang >C++ >Adakah `std::string` C 11 Dijamin Tidak Ditamatkan?
Dalam C 11, tingkah laku std::string berkenaan penamatan null kekal sebagai topik penting. Seperti yang dibincangkan dalam perbincangan sebelum ini, Herb Sutter mencadangkan mengetatkan keperluan dalam C 0x untuk menguatkuasakan penamatan batal dan berkemungkinan melarang pelaksanaan salin atas tulis atas sebab serentak.
Draf akhir C 11 memang menerima pakai cadangan ini. Menurut [string.accessors] p1, std::basic_string::c_str():
Returns: A pointer p such that p + i == &operator[](i) for each i in [0,size()].
Keperluan penting ini membayangkan bahawa diberikan rentetan s, penunjuk yang dikembalikan oleh s.c_str() mestilah sama ke alamat aksara awal dalam rentetan (&s[0]). Oleh itu, kini selamat untuk menggunakan &str[0] untuk mengakses tatasusunan aksara asas std::string. Tingkah laku ini memastikan penamatan nol yang konsisten dan boleh dipercayai, menjadikannya sesuai untuk keserasian dengan rentetan penamatan nol gaya C.
Atas ialah kandungan terperinci Adakah `std::string` C 11 Dijamin Tidak Ditamatkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!