C ++ adalah bahasa pemrograman tujuan umum. Awalnya dikembangkan sebagai ekstensi untuk C dan mempertahankan sintaksis yang sama, tetapi sekarang merupakan bahasa yang sama sekali berbeda. Gunakan tag ini untuk pertanyaan tentang kode yang harus dikompilasi menggunakan kompiler C ++. Gunakan tag versi untuk pertanyaan yang terkait dengan versi standar spesifik [C ++ 11], [C ++ 17], dll.

Apa itu C ++?

C ++ adalah bahasa pemrograman tingkat menengah universal diketik , universal (biasanya), multi-paradigma, universal; jangan bingung dengan C atau C ++ / CLI . Ini dikembangkan pada awal 1980-an oleh Bjarn Straustrup , awalnya sebagai satu set ekstensi ke bahasa pemrograman C. Mengandalkan C, C ++ meningkatkan keamanan jenis dan menambahkan, di antara fungsi-fungsi lain, manajemen sumber daya otomatis, orientasi objek, pemrograman umum, dan penanganan pengecualian.


Baru mengenal C ++?

Jika Anda baru mengenal pemrograman atau datang ke C ++ dari bahasa pemrograman lain, sangat disarankan untuk memiliki buku yang bagus untuk mempelajari bahasa tersebut. Kami menyimpan daftar buku yang terperinci.

Jika Anda mencari kompiler yang bagus, GCC adalah kompiler yang paling umum digunakan di Linux dan platform mirip Unix lainnya; Dentang adalah kompiler resmi untuk Mac dan FreeBSD; Microsoft Visual C ++ paling umum digunakan di Windows. Kompiler Intel juga banyak digunakan untuk perhitungan numerik yang dioptimalkan pada Windows, Linux dan Mac.

Turbo-C ++ 3.0 sejak 1991 sangat ketinggalan jaman dan jelas tidak direkomendasikan. Lihat paragraf sebelumnya untuk pilihan bebas dari milenium ini.

Bergabunglah dengan kami di ruang obrolan tempat kami membahas C ++, pemrograman secara umum, dan bahkan hal-hal lain ketika matahari terbenam dan bosan. Jangan lupa selera humor Anda, tetapi tetaplah beradab.


Penandaan

Saat menerbitkan pertanyaan tentang pemrograman C ++, pastikan untuk menyertakan:

  • Informasi tentang sistem target dan kompiler. Ini termasuk nama kompiler, versi dan pengaturan yang digunakan untuk kompilasi.
  • Jika pertanyaan Anda terkait dengan satu versi bahasa tertentu, tambahkan atau . Pertanyaan tentang promosi harus menambahkan tag penambah. Detail tentang berbagai versi dapat ditemukan di bawah di wiki ini.
  • Jika pertanyaan tidak secara eksplisit menunjukkan versi standar C ++ mana yang digunakan, diasumsikan bahwa versi saat ini digunakan. Yaitu, tergantung pada versi ISO 14882, yang saat ini terdaftar sebagai aktif. Ingatlah hal ini saat menjawab atau mengomentari pertanyaan yang ditandai .

Menggunakan dan bersamaan

C dan C ++ adalah dua bahasa yang berbeda dan seringkali tidak kompatibel. Usahakan untuk tidak menggunakan kedua tag dalam pertanyaan yang sama, kecuali Anda memiliki alasan kuat.

Sebuah pertanyaan harus ditandai hanya jika:

  • Ini berisi C murni, tanpa jejak C ++, atau pertanyaan dengan kode yang dapat bahasa apa pun.
  • Kode dikompilasi menggunakan kompiler C.

Sebuah pertanyaan harus ditandai hanya jika:

  • Ini berisi kode dengan fungsi C ++. Bahkan jika kodenya bisa "style C".
  • Kode dikompilasi menggunakan kompiler C ++.

Pertanyaan harus ditandai dengan dan , jika menyangkut:

  • Perbedaan spesifik antara C dan C ++.
  • Kompatibilitas atau transfer kode antara C dan C ++.
  • Kode C ++ yang menggunakan pustaka C (misalnya, kode yang menggunakan extern "C" ).

Aturan pengeditan dan moderasi untuk pesan yang ditandai dan :

Untuk mengedit / menandai u>c atau emas .

Jika Anda menemukan pesan dengan kedua tag, edit / tandai u>

Salah satu contoh pertanyaan tidak jelas adalah ketika pengguna secara eksplisit menyatakan bahwa ia sedang memprogram dalam C, tetapi mempublikasikan pesan dari kode atau pesan dari kompiler untuk C ++. Jika demikian, mintalah klarifikasi dan ambil suara tertutup sebagai tidak jelas.

"Baik C atau C ++ baik-baik saja," pendapat OP adalah indikasi yang jelas dari pertanyaan yang buruk atau tidak jelas. Jawaban bisa sangat berbeda tergantung pada bahasa yang dipilih. Minta klarifikasi, sedekat tidak jelas / terlalu luas, sampai FI mengklarifikasi hal ini.

Hati-hati saat menandai u>

Jawaban dengan kode C ++ ke pertanyaan C yang belum pernah ditandai harus dihapus karena tidak terkait dengan topik. Silakan periksa riwayat pengeditan pertanyaan sebelum mencentang / menghapus jawaban seperti itu untuk memastikan bahwa pertanyaan tersebut tidak pernah memiliki tag C ++.


C ++ 11

Standar bahasa tetap hampir tidak berubah untuk waktu yang lama, tetapi pada 2011 standar C ++ 11 yang baru (sebelumnya dikenal sebagai C ++ 0x) diterbitkan dalam ISO / IEC 14882: 2011 . Alih-alih pendekatan big bang, secara bertahap diperkenalkan sebagai kompiler mendukung fitur bahasa baru. Lihat FAQ Bjarne Stroustrup C ++ 11 untuk mencari tahu apa yang baru dalam bahasa ini, dan lihat FAQ kompiler Anda untuk mengetahui fungsi mana yang saat ini didukung:

Beberapa fungsi yang dibahas untuk C ++ 11 dipindahkan ke iterasi berikutnya.


C ++ 14

C ++ 14 adalah tambahan kecil untuk C ++ 11. Disetujui pada Agustus 2014 dan dirilis pada bulan Desember tahun yang sama. Sebelumnya disebut sebagai C ++ 1y, karena tahun persetujuan tidak ditentukan. Banyak kompiler populer sudah memiliki beberapa tingkat dukungan untuk C ++ 14.


C ++ 17

C ++ 17 menambahkan beberapa fungsi dasar lagi (dan beberapa yang kecil). Biasanya disebut C ++ 1z atau C ++ 17, karena pekerjaan teknis pada standar baru selesai pada bulan Maret 2017. Draf standar disetujui (dengan suara bulat) oleh ISO pada bulan September 2017 dan secara resmi diterbitkan pada bulan Desember 2017.


C ++ 20

Pekerjaan telah dimulai pada perubahan standar untuk C ++ 2a atau C ++ 20 dengan tanggal rilis yang diharapkan dari rilis standar 2020.

Berikut ini (dan lebih banyak) fitur baru telah diadopsi dalam konsep C ++ 20:

  • perbandingan tiga arah menggunakan operator baru <=>
  • inisialisasi yang ditugaskan (berdasarkan fungsi C99 dengan beberapa batasan)
  • daftar parameter pola dalam ekspresi lambda
  • variabel ekstra dengan siklus for rentang
  • Ekstensi paket di lambda init-capture

Sejumlah fitur baru sedang dipertimbangkan, termasuk:


Kompiler internet

Jika Anda ingin mencoba C ++, Anda dapat mencoba salah satu layanan kompilasi online berikut:



C ++ FAQ stack overflow


Pertanyaan Eksternal Yang Sering Diajukan


Sumber daya eksternal lainnya


Obrolan