C++Tingkat: Lanjutan7 min

C++20 Concepts (requires) & Ranges Pipeline (|)

Kuasai fitur tercanggih C++20: pembatasan tipe template yang ramah pesan error dengan Concepts dan transformasi data deklaratif menggunakan operator pipe (|) Ranges.

Membatasi Tipe Template dengan Concepts

Pratinjau Terbuka

Concepts menggantikan teknik SFINAE kuno yang rumit. Jika tipe template tidak memenuhi syarat, kompilator langsung mengeluarkan pesan error yang singkat dan jelas.

Contoh Kode Sintaks
#include <iostream>
#include <concepts>

// Mendefinisikan Concept pembatas tipe numerik
template <typename T>
concept Bilangan = std::integral<T> || std::floating_point<T>;

template <Bilangan T>
T kalikanDua(T nilai) {
    return nilai * 2;
}

int main() {
    std::cout << "Hasil Int   : " << kalikanDua(21) << std::endl;
    std::cout << "Hasil Double: " << kalikanDua(14.5) << std::endl;
    // kalikanDua("Halo"); // Kompilator langsung menolak dengan pesan jelas!
    return 0;
}

Live Compiler Runner

Akses Kursus Wajib Login

Buka Akses Penuh Silabus & Praktikum

Masuk dengan akun GitHub, Google, atau Akses Cepat Developer untuk membuka seluruh materi mendalam, menjalankan compiler interaktif, mengerjakan kuis, dan menyimpan progres belajar Anda.

145+ Modul Lengkap•Tersimpan Otomatis•Sertifikat Kelulusan Resmi