Rumah > pembangunan bahagian belakang > C++ > Adakah std::string Termasuk Null Terminator?

Adakah std::string Termasuk Null Terminator?

Patricia Arquette
Lepaskan: 2024-12-05 04:24:11
asal
212 orang telah melayarinya

Does std::string Include a Null Terminator?

Adakah std::string Mengandungi Penamat Null?

Kelas std::string dalam C tidak semestinya mengandungi penamat null (' ') seperti gaya C rentetan.

Soalan:

Adakah rentetan berikut mengandungi penamat nol ' '?

std::string temp = "hello whats up";
Salin selepas log masuk

Jawapan:

Tidak. std::string menyimpan datanya secara dalaman dalam tatasusunan aksara tanpa penamat nol.

Penjelasan:

Walau bagaimanapun, jika anda mengakses perwakilan rentetan gaya C menggunakan temp .c_str(), penamat null akan disertakan dalam rentetan yang dikembalikan.

Tambahan Maklumat:

  • Anda boleh memasukkan aksara null dalam std::string seperti mana-mana aksara lain, seperti yang ditunjukkan dalam contoh berikut:
string s("hello");
cout << s.size() << ' ';
s[1] = '';
cout << s.size() << '\n';
Salin selepas log masuk
  • Kod ini mencetak "5 5", menunjukkan bahawa aksara nol tidak menjejaskan saiz rentetan.

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

sumber:php.cn
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