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 TerbukaConcepts 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