Menu
CoddyTech

Cheat Sheet C++

Terakhir diperbarui

Hello World & struktur program

Eksekusi dimulai di main, yang mengembalikan sebuah int.

ElemenKode
Menyertakan header#include <iostream>
Titik masuk programint main() { ... }
Mencetak satu barisstd::cout << "Hello, World!" << std::endl;
Membaca inputstd::cin >> x;
Memakai namespace stdusing namespace std;
Mengembalikan status suksesreturn 0;
Komentar// line dan /* block */

Tipe data

TipeKeterangan
intBilangan bulat (biasanya 32 bit)
long / long longBilangan bulat yang lebih lebar
float / doubleBilangan floating point
charSatu byte / karakter
booltrue atau false
std::stringTeks dinamis dari <string>
autoCompiler menyimpulkan tipenya
std::size_tTipe unsigned untuk ukuran dan indeks

Variabel & reference

Reference adalah alias; pointer menyimpan alamat.

OperasiSintaks
Mendeklarasikan & menginisialisasiint x = 5;
Inisialisasi dengan kurung kurawalint x{5};
Konstantaconst double PI = 3.14159;
Konstanta saat compileconstexpr int N = 10;
Reference (alias)int &r = x;
Pointerint *p = &x;
Dereference pointer*p = 10;
Inferensi tipeauto y = 3.14;

Alur kontrol

PernyataanSintaks
If / elseif (x > 0) { ... } else { ... }
Switchswitch (n) { case 1: ...; break; default: ...; }
While loopwhile (i < n) { ... }
Do-while loopdo { ... } while (i < n);
For loopfor (int i = 0; i < n; i++) { ... }
Range-based forfor (auto x : vec) { ... }
Range-based dengan referencefor (auto &x : vec) { ... }
Break / continuebreak; keluar dari loop, continue; lompat ke iterasi berikutnya

Fungsi

OperasiSintaks
Mendefinisikan fungsiint add(int a, int b) { return a + b; }
Tanpa nilai kembalianvoid greet() { ... }
Argumen defaultint pow(int b, int e = 2) { ... }
Pass by referencevoid inc(int &x) { x++; }
Const reference (tanpa salinan)void print(const std::string &s) { ... }
Overloadingint max(int a, int b); dan double max(double a, double b);
Lambdaauto f = [](int x) { return x * 2; };
Lambda dengan captureauto g = [n](int x) { return x + n; };

Class & OOP

OperasiSintaks
Mendefinisikan classclass Dog { ... };
Access specifierpublic:, private:, protected:
Variabel anggotastd::string name;
ConstructorDog(std::string n) : name(n) {}
Destructor~Dog() { ... }
Fungsi anggotavoid bark() { ... }
Membuat objectDog d("Rex");
Inheritanceclass Puppy : public Dog { ... };
Fungsi virtualvirtual void speak();

Container STL

Container umum dari library standar.

ContainerKegunaan & contoh
std::vector<int>Array dinamis: v.push_back(1); v.size();
std::stringTeks: s += "!"; s.length();
std::array<int, 3>Array berukuran tetap dengan info batas
std::map<K, V>Key-value terurut: m["a"] = 1;
std::unordered_map<K, V>Hash map (pencarian lebih cepat, tanpa urutan)
std::set<T>Nilai unik terurut: s.insert(5);
std::pair<A, B>Dua nilai: make_pair(1, "x")
std::queue / std::stackAdapter antrean FIFO / stack LIFO

Algoritma & iterator STL

Dari <algorithm>; sebagian besar menerima rentang iterator begin/end.

OperasiSintaks
Iterator begin / endv.begin(), v.end()
Mengurutkanstd::sort(v.begin(), v.end());
Mengurutkan menurunstd::sort(v.begin(), v.end(), std::greater<int>());
Mencari nilaiauto it = std::find(v.begin(), v.end(), 5);
Menghitung yang cocokstd::count(v.begin(), v.end(), 5);
Elemen terkecil / terbesarstd::max_element(v.begin(), v.end());
Menjumlahkan sebuah rentangstd::accumulate(v.begin(), v.end(), 0);
Mengubah setiap elemenstd::transform(v.begin(), v.end(), v.begin(), fn);

Smart pointer & C++ modern

Utamakan smart pointer daripada new/delete mentah agar pembersihan berjalan otomatis.

FiturSintaks
Kepemilikan tunggalauto p = std::make_unique<Dog>("Rex");
Kepemilikan bersamaauto p = std::make_shared<Dog>("Rex");
Reference tanpa kepemilikanstd::weak_ptr<Dog> w = p;
Move semanticsauto v2 = std::move(v1);
Nullptrint *p = nullptr;
Structured bindingauto [key, val] = *it;
Nilai opsionalstd::optional<int> maybe;
Templatetemplate <typename T> T add(T a, T b) { return a + b; }

Sintaks C++, container STL, dan fitur modern yang paling sering kamu pakai, dalam satu halaman. Cheat sheet C++ ini adalah referensi cepat untuk menulis C++: tipe data, reference, class, container library standar seperti vector dan unordered_map, serta smart pointer yang menggantikan new/delete mentah.

Semua yang ada di sini adalah C++ standar (C++11 ke atas) dan bisa kamu compile dengan g++ atau clang++. Salin yang kamu butuhkan, atau coba potongan kode apa pun langsung di playground C++, tanpa perlu menginstal compiler. Sedang belajar bahasanya? Kursus C++ interaktif gratis dari Coddy membahas pointer, STL, dan class langkah demi langkah.

FAQ cheat sheet C++

Apakah cheat sheet C++ ini gratis?

Ya. Cheat sheet C++ ini sepenuhnya gratis, tanpa perlu daftar. Simpan di bookmark dan kembali kapan pun kamu perlu mencari sintaks, container STL, atau smart pointer.

Apa perbedaan pointer dan reference di C++?
Pointer adalah variabel yang menyimpan alamat; pointer bisa bernilai null, bisa diarahkan ulang ke tempat lain, dan kamu melakukan dereference dengan *p. Reference (int &r = x) adalah alias untuk variabel yang sudah ada: harus diikat saat dideklarasikan, tidak pernah bisa null atau diikat ulang, dan dipakai seperti variabel itu sendiri. Pakai reference untuk parameter pass-by-reference yang lebih rapi, dan pointer saat kamu butuh indireksi yang opsional atau bisa diarahkan ulang.
Sebaiknya saya pakai new/delete atau smart pointer?
Utamakan smart pointer. std::unique_ptr dan std::shared_ptr (lewat make_unique/make_shared) membebaskan memorinya secara otomatis saat keluar dari scope, sehingga mencegah memory leak dan double free yang biasa muncul dengan new/delete manual. Pakai new/delete mentah hanya di kode tingkat rendah yang punya alasan khusus.
Bisakah saya berlatih C++ secara online?

Bisa. Buka playground C++ untuk compile dan menjalankan potongan kode apa pun dari cheat sheet ini di browsermu, tanpa perlu menginstal compiler. Kalau kamu ingin belajar terarah, kursus C++ interaktif gratis dari Coddy membawamu dari variabel dan perulangan sampai class dan STL, langkah demi langkah.

Apakah cheat sheet ini cocok untuk pemula?

Cocok. Isinya disusun mulai dari komponen dasar yang paling umum (tipe, alur kontrol, fungsi) sampai yang lanjutan (STL dan smart pointer), jadi kamu bisa memakai bagian atas sejak hari pertama dan pelan-pelan menguasai sisanya.

Ilustrasi bahasa pemrograman di Coddy

Belajar C++ bersama Coddy

Mulai