Kode C biasanya kode C ++ yang valid.
Masalah utama dengan C ++ menggunakannya secara salah ( Linus Torvalds membencinya karena alasan ini , ia juga memiliki beberapa masalah lain dengan portabilitas pustaka dan seterusnya, ia bekerja pada level sistem operasi dan harus dapat menjalankan berbagai hal secara acak) chip di luar sana).
Misalnya hampir tidak ada keuntungan menggunakan array cstyle [] di atas c ++ std :: vector <> (atau wadah serupa).
Vektornya adalah typesafe dan dapat diperiksa batasnya (Anda dapat mengakses elemen menggunakan get () atau [], bahkan jika Anda tidak menggunakan metode cek array, Anda masih dapat meminta ukuran daripada mengangkutnya dengan pointer).
Tetapi vektor bisa lebih lambat jika, misalnya, Anda tidak mendeklarasikan ukuran default di konstruktor. Juga menambahkan hal-hal ke vektor dapat menyebabkan perlambatan jika kemudian membutuhkan ukuran. C ++ 11 menambahkan banyak keuntungan juga seperti inisialisasi seragam (Anda sekarang dapat mendeklarasikan dan menginisialisasi vektor menggunakan sintaks yang sama) dan ada konstruktor pemindahan yang memungkinkan Anda menghindari penyalinan. Anda bahkan dapat membuat inisialisasi khusus Anda sendiri (jika Anda ingin melakukan sesuatu selain menggunakan malloc karena alasan tertentu).
Atau tentu saja jika Anda perlu mengubah ukuran hal-hal, maka vektor masih lebih mudah untuk melakukannya dengan, Anda tidak perlu dipusingkan dengan malloc, menyalin secara manual dan sebagainya.
C ++ memberi Anda kode berorientasi objek. Ketika dikompilasi, itu akan sama efisiennya karena itu benar-benar hanya sebuah abstraksi untuk manusia yang bekerja dengan kode. Meskipun hal-hal seperti konstruktor dapat memperlambat pembuatan objek. Tetapi Anda membutuhkan konstruktor untuk menetapkan nilai default atau Anda dapat menginisialisasi objek tanpa menggunakan konstruktor (dengan mengabaikan () dari).
Tetapi orientasi objek membuat game pemrograman lebih mudah. Game sering berurusan dengan objek.