0Pricing
C++ Academy · Pelajaran

std::string vs Larik Karakter Gaya C

Bandingkan std::string modern dengan larik char lama yang diakhiri null, lalu tentukan kapan masing-masing digunakan.

std::string vs Larik Karakter Gaya C adalah pelajaran C++ Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar C++ Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus C++ Academy mencakup 4 pelajaran total.

Dua Cara Menyimpan Teks

C++ mewarisi string gaya C—larik char yang diakhiri bita null—dan menambahkan std::string dari pustaka standar. Hampir selalu gunakan std::string.

String Gaya C

String gaya C adalah urutan char yang diakhiri bita null '\0'. Fungsi seperti strlen menelusuri larik hingga menemukan nilai null.

const char* greeting = "Hello";
// Memory: H, e, l, l, o, \0  (6 bytes)

#include <cstring>
std::cout << std::strlen(greeting);  // 5

std::string

std::string mengelola memorinya sendiri dan bertambah sesuai kebutuhan. Inisialisasikan seperti tipe lainnya.

#include <string>
std::string name = "Ada";
name += " Lovelace";
std::cout << name;  // Ada Lovelace

Ukuran dan Panjang

std::string::size() dan length() adalah sinonim dan mengembalikan jumlah karakter (tidak termasuk terminator null).

std::string s = "hello";
std::cout << s.size();   // 5
std::cout << s.length(); // 5

Akses Berindeks

Baca atau tulis karakter dengan [] atau at(). Berbeda dari [], at() melempar pengecualian jika indeks di luar rentang.

std::string s = "cat";
char first = s[0];        // 'c'
char last  = s.at(2);     // 't'
// s.at(10) throws std::out_of_range

String Kosong

Gunakan empty() sebagai pengganti size() == 0. Ini lebih jelas dan sama cepatnya.

Kapan Menggunakan const char*

Gunakan string gaya C ketika:

  • Berinteraksi dengan pustaka C atau API sistem operasi
  • Bekerja dengan literal string yang tidak pernah berubah
  • Menggunakan sistem tertanam yang tidak menyediakan pustaka standar

Mengonversi di Antara Keduanya

Dapatkan string C dari std::string dengan .c_str(). Buat std::string langsung dari const char*.

std::string s = "Hello";
const char* c = s.c_str();

const char* literal = "world";
std::string s2(literal);

Literal String Bertipe const char[]

Literal string seperti "hi" memiliki tipe const char[3] (termasuk terminator null). Literal tersebut berada di memori hanya-baca.

Literal String Mentah

Tambahkan awalan R"(...)" untuk melewati pemrosesan karakter pelolosan. Berguna untuk pola regex dan jalur berkas.

std::string regex = R"(\d+\.\d{2})";
std::string path  = R"(C:\Users\Ada)";

Melakukan Iterasi pada std::string

String adalah wadah. Lakukan iterasi dengan perulangan berbasis rentang, indeks, atau iterator.

std::string s = "abc";
for (char c : s) std::cout << c << " ";  // a b c

Pemeriksaan Singkat

Metode std::string mana yang melempar pengecualian ketika indeks di luar rentang?

Ringkasan

Utamakan std::string untuk teks yang dikelola otomatis. Gunakan const char* untuk literal dan interoperabilitas dengan API C. Konversikan keduanya dengan .c_str() dan konstruksi langsung.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “std::string vs Larik Karakter Gaya C” gratis?

Ya — teks lengkap “std::string vs Larik Karakter Gaya C” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus C++ Academy, upgrade ke CoddyKit PRO. Kursus C++ Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “std::string vs Larik Karakter Gaya C”?

Bandingkan std::string modern dengan larik char lama yang diakhiri null, lalu tentukan kapan masing-masing digunakan. Kamu berlatih C++ Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai C++ Academy?

Tidak diperlukan pengalaman sebelumnya. C++ Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “std::string vs Larik Karakter Gaya C” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran C++ Academy ini?

Ya. Setiap pelajaran C++ Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. std::string vs Larik Karakter Gaya C
  2. Operasi String: concat substr find replace
  3. String Stream stringstream untuk Parsing
  4. Konversi String: to_string dan stoi
← Kembali ke C++ Academy