C++

ek dek Bjarne Stroustrup, nan marupokan perkembangan dari bahaso C dikambangkan di Bell Labs (Dennis Ritchie) pado awal tahun 1970-an, bahaso tu diturunkan dari bahaso sabalumnyo, inyo tu B. Pado awalnyo, bahaso tu dirancang sabagai bahaso pemrograman nan dijalankan pado sistem Unix. Pado parkambangannyo, versi ANSI (American National Standards Institute) pado bahaso pemrograman C manjadi versi dominan, maskipun versi tu sakarang jarang dipakai jo pangembangan sistem jo jaringan maupun untuak sistem embedded.Bjarne Stroustrup pado Bell Labs patamo kali mangembangkan C++ pado awal 1980-an. Untuak mandukuang fitur-fitur pado C++, dibangun efisiensi jo sistem support untuak pemrograman tingkek randah (low level coding).[1] Pado C++ ditambahan konsep-konsep baru sarupo class jo sifeik-sifeiknyo sarupo inheritance jo overloading.[rujuakan?] Salah satu perbedaan nan paliang mandasa jo bahasa C adolah dukungan kapado konsep pemrograman berorientasi objek (object-oriented programming).[2][3]

Standarisasi

YearC++ StandardInformal name
2011ISO/IEC 14882:2011[4]C++11
2007ISO/IEC TR 19768:2007[5]C++TR1
2003ISO/IEC 14882:2003[6]C++03
1998ISO/IEC 14882:1998[7]C++98

Pado tahun 1998, C++ Standar Komite (ISO/IEC JTC1/SC22/WG21 Working Group) mangaluaran Standar Internasional ISO/IEC 14882:1998 nan digunoan salamo beberapo tahun. Pada tahun 2003 dirilis versi nan alah dikoreksi, ISO/IEC 14882:2003.Pado tahun 2005, Laporan Teknis nan disabuik "Laporan Teknis Perpustakaan 1" (saring dikana sabagai TR1) dirilis.Revisi tabaru dari standar C++ adolah C+11 (sabalumnya dikana C++0x) alah disetujui dek ISO/IEC pado tanggal 12 Agustus 2011 jo alah ditarbitkan sabagai 14882:11.

Contoh Program C++

Contoh program sederhana C++ untuak Hello world jo menggunokan pustaka dasar C++ dapek dicaliak di bawah iko:[rujuakan?]

#include <iostream>using namespace std;int main(){string nama_saya ="Panggih Dafa Najmuddin";string waras_kelas = "11";Int tinggi_badan = 175;char golongan_darah = "0";count<<"string nama_saya :"<<Panggih_dafa<<endl;count<<"walas_kelas :"<<11<<endl;count<<"tinggi badan :"<<175<<endlcount<<"golongan darah :"<<AB<<endl;{cout <<"hello world"<<endl;return 0;}

Keterangan

Baris patamo:

#include <iostream.h>

Sabagai bagian dari proses kompilator, kompilator dari c++ manjalankan program nan dinamoan preprosesor.[rujuakan?] Preprosesor ado kemampuan manambahan jo manghapui kode dari sumber. Pado bagian #include mambaritahuan preprosesor untuak manyertakan kode dari iostream, berkas iostream barisi deklarasi untuak barbagai fungsi nan dibutuhan dek perangkek luneik, atau class-class nan dibutuhan.[8]Baris kaduo:

int main ()

Pernyataan iko mendeklarasiaan fungsi utamo, bahwa suatu program C++ dapek barisi banyak fungsi, nan harus dipunyoi sebuah fungsi utamo (main function). Fungsi adolah modul nan barisi kode-kode untuak manyalasaian masalah-masalah tatentu. Kato Void manandoan fungsi main indak batipe.[8]Baris katigo:

{

Kurung kurawa buka manandoan awal program.[8]Baris kaampek:

std::cout << "Hello world\n";

Cout adolah sabuah object dari pustaka perangkek luneik standar C++ nan digunoan untuak mancetak string ka piranti output standar, nan biasonyo adolah layar komputer, kompilator manghubungkan kode dari pustaka perangkek luneik standar tu jo kode nan alah ditulih untuak mandapekan hasil executable. Tanda

\n

adolah format modifier nan digunoan untuak baganti baris setelah manampilkan string, jiko ado cout lain pado program tasabuik, mako string nan manyertainyo akan dituliskan pado baris bawahnyo.[8]Baris kalimo:

# include <stdio.h>int maksimum (int,int);void tulis (int);main()int nilai 1,nilai 2,nilai maks;printf (*\n ketikkan dua bilangan bulat:);scanf("%d%d",& nilai 1,nilai 2);nilai maks=maksimum (nilai 1,nilai 2);tulis(nilai maks);returns 0;int maksimum(int x1,int x2)if (x1>x2)return x1;elsereturn x2;void tulis(int x)printf("\n hasilnya adalah:%d",x);

Kurung kurawa tutuik manandoan akhir program.[9]

Kato nan dipasan

Kalompok patamo

C++ mampunyoi 32 buah kato nan dipasan (reserved words). Kato kunci kalompok patamo marupokan turunan dari bahasa C, di antaronyo:[9]

autoconstdoubleintshortstructunsigned
breakcontinueelseforlongsignedswitchvoid
casedefaultenumgotoregistersizeoftypedefvolatile
chardoexternifreturnstaticunionwhile

Kalompok kaduo

Kato nan dipasan kalompok kaduo bajumlah 30. Kato-kato iko adolah baru jo hanyo ado di bahasa C++.[10]

asmdynamic_castnamespacereinterpret_casttry
boolexplicitnewstatic_casttypeid
catchfalseoperatortemplatetypename
classfriendprivatethisusing
const_castinlinepublicthrowvirtual
deletemutableprotectedtruewchar_t

Kato-kato nan dipasan tasabuik di ateh indak buliah dipakai sabagai namo variable, class, enum, macro, jo struct.[10]

# include <stdio.h>int maksimum (int,int);void tulis (int);main()int nilai 1,nilai 2,nilai maks;printf (*\n ketikkan dua bilangan bulat:);scanf("%d%d",& nilai 1,nilai 2);nilai maks=maksimum (nilai 1,nilai 2);tulis(nilai maks);returns 0;int maksimum(int x1,int x2)if (x1>x2)return x1;elsereturn x2;void tulis(int x)printf("\n hasilnya adalah:%d",x);

Tipe data dasa

Untuak manyimpan suatu variabel diparaluan tampek khusus di dalam memori komputer. Gadang jo tipe dari variabel-variabel di dalam standar program C++ dispesifikasian sabagai barikuik.[10]

NamaKeteranganUkuranJangkauan
charAbjad/karakter atau untuk bilangan bulat kecil1 bytesigned: -128 to 127

unsigned: 0 to 255

short int (short)Bilangan bulat dengan jangkauan pendek2 bytesigned: -32768 to 32767

unsigned: 0 to 65535

intBilangan bulat4 bytesigned: -2147483648 to 2147483647

unsigned: 0 to 4294967295

long int (long)Integer dengan jangkauan panjang4 bytesigned: -2147483648 to 2147483647

unsigned: 0 to 4294967295

boolBoolean, dapat bernilai benar atau salah (true or false)i bytetrue or false
floatAngka dengan titik mengambang (bilangan cacah)4 byte3.4e +/- 38 (7 digit)
doubleBilangan cacah dengan ketelitian ganda8 byte1.7e +/- 308 (15 digits)
long doubleBilangan cacah dengan ketelitian ganda panjang8 byte1.7e +/- 308 (15 digits)
wchar_tKarakter lebar, biasa dipakai untuk Unicode karakter2 byte1 karakter lebar

Kompilator C++

  • Acorn C/C++
  • Borland C++
  • C++/CX
  • C++Builder
  • Cfront
  • Clang
  • CodeWarrior
  • Comeau C/C++
  • ConceptGCC
  • Digital Mars
  • GNU Compiler Collection
  • HP aC++
  • IBM XL C++
  • Intel C++ Compiler
  • MinGW
  • Norcroft C compiler
  • Open64
  • Oracle Solaris Studio
  • PathScale
  • The Portland Group
  • ROSE (compiler framework)
  • Shed Skin
  • Softune
  • TenDRA Compiler
  • THINK C
  • Turbo C++
  • Visual C++
  • IBM VisualAge
  • Watcom C/C++ compiler
  • Zortech

Kaluargo bahaso pemrograman C++

  • Algorithmic skeleton
  • C++/CLI
  • C++/CX
  • Charm++
  • Embedded C++
  • Felix (programming language)
  • Intel Array Building Blocks
  • Intel Parallel Studio
  • Managed Extensions for C++
  • R++
  • Sieve C++ Parallel Programming System
  • Threading Building Blocks
  • ΜC++

Rujuakan