Adakah std::string dalam C 11 Dijamin Null-Terminated?
Dec 07, 2024 pm 08:27 PMPenamatan Null dalam std::string C 11
Dalam C , rentetan biasanya diwakili menggunakan kelas std::string. Sebelum C 11, terdapat kesamaran mengenai sama ada objek std::string sentiasa ditamatkan nol.
C 11 Jaminan Storan Bersambung
Dalam C 11, kelas std::string mendapat jaminan bahawa kandungannya akan disimpan secara bersebelahan. Ini menangani salah satu kebimbangan yang dibangkitkan oleh Herb Sutter dalam artikelnya pada tahun 2008.
Penggunaan Cadangan Penamatan Batal
Bagi keperluan untuk penamatan batal dan larangan ke atas salinan -pelaksanaan secara bertulis, cadangan yang disebut dalam artikel Sutter tidak diterima pakai sepenuhnya dalam draf akhir C 11.
Keselamatan Penggunaan &str[0]
Walau bagaimanapun, mengikut [string.accessors] p1, std::basic_string::c_str():
1 |
|
Ini bermakna penunjuk dikembalikan oleh s.c_str(), dengan s ialah a rentetan, adalah bersamaan dengan alamat aksara awal dalam rentetan (&s[0]).
Oleh itu, dalam C 11, adalah selamat untuk menggunakan &str[0] untuk mengakses aksara pertama std :: objek rentetan, dengan mengandaikan ia tidak diubah suai oleh faktor luaran.
Atas ialah kandungan terperinci Adakah std::string dalam C 11 Dijamin Null-Terminated?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Apakah jenis nilai yang dikembalikan oleh fungsi bahasa C? Apa yang menentukan nilai pulangan?

Langkah Format Fungsi Fungsi C Langkah Penukaran Kes

Gulc: Perpustakaan C dibina dari awal

Apakah definisi dan peraturan panggilan fungsi bahasa C dan apakah itu

Penggunaan dan perkongsian frasa yang berbeza

Di manakah nilai pulangan fungsi bahasa C yang disimpan dalam ingatan?

Bagaimanakah saya menggunakan algoritma dari STL (jenis, mencari, mengubah, dll) dengan cekap?

Bagaimana Perpustakaan Templat St Standard (STL) berfungsi?
