Rumah > pembangunan bahagian belakang > C++ > Adakah `std::string` Mengandungi Penamat Null?

Adakah `std::string` Mengandungi Penamat Null?

Susan Sarandon
Lepaskan: 2024-12-07 21:07:17
asal
1024 orang telah melayarinya

Does `std::string` Contain a Null Terminator?

Adakah std::string Mempunyai Null Terminator Terbina Dalam?

Bertentangan dengan kepercayaan umum, std::string tidak semestinya membawa penamat null ' '. Tingkah laku ini berbeza daripada tatasusunan aksara, yang secara automatik menambahkan aksara nol untuk menandakan penamatan rentetan.

Walau bagaimanapun, terdapat pengecualian penting untuk peraturan ini: kaedah temp.c_str(). Apabila anda menggunakan kaedah ini, rentetan yang dikembalikan akan menyertakan penamat null. Ini membolehkan rentetan dikendalikan dan diproses dengan cara yang serasi dengan rentetan gaya C tradisional.

Selain itu, penting untuk ambil perhatian bahawa anda boleh memasukkan aksara nol secara eksplisit dalam std::string sama seperti mana-mana watak lain. Dengan memberikan ' ' pada kedudukan aksara dalam rentetan, anda boleh membahagikan rentetan itu kepada dua subrentetan dengan berkesan.

Sebagai contoh, pertimbangkan coretan kod berikut:

string s("hello");
cout << s.size() << ' ';
s[1] = '<pre class="brush:php;toolbar:false">5 5
Salin selepas log masuk
'; cout << s.size() << '\n';

Keluaran ini kod ialah:

yang menunjukkan bahawa aksara nol tidak menjejaskan saiz rentetan yang dilihat. Sebabnya ialah aksara nol tidak mempunyai makna istimewa dalam konteks std::strings.

Atas ialah kandungan terperinci Adakah `std::string` Mengandungi Penamat Null?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan