Kelas Penyimpanan di C++

Kelas Penyimpanan di C++

Kelas Penyimpanan di C++

Kelas penyimpanan mendefinisikan ruang lingkup (visibilitas) dan masa pakai variabel atau fungsi dalam Program C++. Penentu ini mendahului jenis yang mereka modifikasi. Ada kelas penyimpanan berikut, yang dapat digunakan dalam Program C++.

  • auto
  • register
  • static
  • extern
  • mutable

Kelas Penyimpanan otomatis

Kelas penyimpanan otomatis adalah kelas penyimpanan default untuk semua variabel lokal.

{
   int mount;
   auto int month;
}

Contoh di atas mendefinisikan dua variabel dengan kelas penyimpanan yang sama, otomatis hanya dapat digunakan dalam fungsi, yaitu variabel lokal.

Daftar Kelas Penyimpanan

Kelas penyimpanan register digunakan untuk mendefinisikan variabel lokal yang harus disimpan dalam register alih alih RAM. Ini berarti bahwa variabel memiliki ukuran maksimum yang sama dengan ukuran register (biasanya satu kata) dan tidak dapat menerapkan operator "&" unary (karena tidak memiliki lokasi memori).

{
   register int miles;
}

Register hanya boleh digunakan untuk variabel yang memerlukan akses cepat seperti penghitung. Perlu juga dicatat bahwa mendefinisikan register, tidak berarti bahwa variabel akan disimpan dalam register. Ini berarti mungkin disimpan dalam register, tergantung pada perangkat keras dan batasan implementasi.

Kelas Penyimpanan Statis

Kelas penyimpanan statis menginstruksikan kompiler untuk menjaga variabel lokal tetap ada selama masa hidup program alih alih membuat dan menghancurkannya setiap kali masuk dan keluar dari ruang lingkup. Oleh karena itu, membuat variabel lokal statis memungkinkan mereka untuk mempertahankan nilainya di antara pemanggilan fungsi.

Pengubah statis juga dapat diterapkan ke variabel global. Ketika hal tersebut dilakukan, maka akan menyebabkan ruang lingkup variabel tersebut dibatasi ke file di mana ia dideklarasikan.

Di C++, ketika statis digunakan pada anggota data kelas, maka akan menyebabkan hanya satu salinan anggota yang dibagikan oleh semua objek kelasnya.

#include <iostream>

// Function declaration
void func (void);

static int count = 10; /* Global variable */

main() {
   while(count--) {
      func();
   }

     return 0;
}

// Function definition
void func( void ) {
   static int i = 5; // local static variable
   i++;
   std::cout << "i is " << saya ;
   std::cout << " and count is " << count << std::endl;
}

Ketika kode di atas dikompilasi dan dieksekusi, maka akan menghasilkan hasil berikut:

i adalah 6 dan count adalah 9
i adalah 7 dan count adalah 8
i adalah 8 dan count adalah 7
i adalah 9 dan count adalah 6
i adalah 10 dan count adalah 5
i adalah 11 dan count adalah 4
i adalah 12 dan count adalah 3
i adalah 13 dan count adalah 2
i adalah 14 dan count adalah 1
i adalah 15 dan count adalah 0

Kelas Penyimpanan eksternal

Kelas penyimpanan eksternal digunakan untuk memberikan referensi variabel global yang terlihat oleh semua file program. Saat Anda menggunakan extern, maka variabel tidak dapat diinisialisasi karena yang dilakukannya hanyalah mengarahkan nama variabel ke lokasi penyimpanan yang telah ditentukan sebelumnya.

Ketika Anda memiliki banyak file dan Anda mendefinisikan variabel atau fungsi global, yang juga akan digunakan di file lain, maka extern akan digunakan di file lain untuk memberikan referensi variabel atau fungsi yang ditentukan. Sekedar pengertian extern digunakan untuk mendeklarasikan variabel global atau fungsi di file lain.

Pengubah eksternal paling sering digunakan ketika ada dua atau lebih file yang berbagi variabel atau fungsi global yang sama seperti yang akan dijelaskan di bawah ini:

File Pertama: main.cpp

#include <iostream>

int count;
extern void write_extern();

main() {
   count = 5;
   write_extern();
}

File Kedua: support.cpp

#include <iostream>

extern int count;

void write_extern(void) {
   std::cout << "count is " << count << std::endl;
}

Di sini, kata kunci extern digunakan untuk mendeklarasikan jumlah di file lain. Sekarang kompilasi kedua file tersebut sebagai berikut:

$g++ main.cpp support.cpp -o write

Ini akan menghasilkan program yang dapat dieksekusi tulis, coba jalankan penulisan dan periksa, maka hasilnya sebagai berikut:

$./write
5

Kelas Penyimpanan Yang Bisa Berubah

Penentu yang dapat diubah hanya berlaku untuk objek kelas, yang akan dibahas nanti dalam tutorial ini. Ini memungkinkan anggota objek untuk menimpa fungsi anggota const. Artinya, anggota yang bisa berubah dapat dimodifikasi oleh fungsi anggota const.

Jenis Pengubah C++

Jenis Pengubah C++

Jenis Pengubah C++

C++ memungkinkan tipe data char, int, dan double memiliki pengubah sebelum mereka. Pengubah digunakan untuk mengubah arti dari tipe dasar sehingga lebih tepat sesuai dengan kebutuhan berbagai situasi.

Pengubah tipe data tercantum dibawah ini:

  • signed (ditandatangani)
  • unsigned (tidak ditandatangani)
  • long (panjang)
  • short (pendek)

Pengubah yang ditandatangani, tidak ditandatangani, panjang, dan pendek dapat diterapkan ke tipe dasar bilangan bulat. Selain itu, signed dan unsigned dapat diterapkan ke karakter (char), sedangkan panjang (long) dapat diterapkan untuk ganda (double)

Pengubah yang signed dan unsigned juga dapat digunakan sebagai awalan untuk pengubah long atau short. Misalnya, unsigned long int.

C++ memungkinkan notasi steno untuk mendeklarasikan bilangan bulat yang unsigned, short, atau long. Anda cukup menggunakan kata kunci (unsigned, short, atau long) tanpa int. Ini secara otomatis menyiratkan int. Misalnya, dua pernyataan berikut mendeklarasikan variabel integer yang unsigned:

unsigned x;
unsigned int y;

Untuk memahami perbedaan antara cara pengubah integer yang signed dan yang unsigned diinterpretasikan oleh C++, Anda harus menjalankan program singkat berikut:

#include <iostream>
using namespace std;

/* This program shows the difference between
   * signed and unsigned integers.
*/
int main() {
   short int i; // a signed short integer
   short unsigned int j ; // an unsigned short integer

   j = 50000;

   i = j;
   cout<<i<<" "<<j;

   return 0;
}

Saat program diatas dijalankan, berikut adalah outputnya:

-15536 50000

Hasil di atas adalah karena pola bit yang mewakili 50.000 sebagai bilangan bulat short unsigned integer sebagai -15.536 oleh short.

Ketik Kualifikasi di C++

Kualifikasi tipe memberikan informasi tambahan tentang variabel yang didahului.

  1. const ===> Objek bertipe const tidak dapat diubah oleh program Anda selama eksekusi.
  2. volatile ===> Pengubah volatile memberi tahu kompiler, bahwa nilai variabel dapat diubah dengan cara yang tidak ditentukan secara eksplisit oleh program.
  3. restrict ===> Pointer yang memenuhi syarat dengan restrict pada awalnya adalah satu satunya cara untuk mengakses objek yang ditunjukkan. Hanya C99 yang menambahkan kualifikasi tipe baru yang disebut restrict.

Konstanta / Literal C++

Konstanta / Literal C++

Konstanta / Literal C++

Konstanta mengacu pada nilai tetap yang tidak dapat diubah oleh program dan disebut literal.

Konstanta dapat berupa salah satu tipe data dasar dan dapat dibagi menjadi angka integer (integer numeral), angka titik mengambang (floating-point numeral), karakter (character), string (strings), dan nilai boolean (boolean values).

Sekali lagi, konstanta diperlakukan seperti variabel biasa kecuali bahwa nilainya tidak dapat diubah setelah definisinya.

Literal Bilangan Bulat

Literal integer dapat berupa konstanta desimal, oktal, atau heksadesimal. Awalan menentukan basis atau radix (0x atau 0X untuk heksadesimal, 0 untuk oktal, dan tidak ada untuk desimal).

Literal integer juga dapat memiliki sufiks yang merupakan kombinasi dari U dan L, masing masing untuk unsigned dan long. Akhiran dapat berupa huruf besar atau kecil, dan dapat dalam urutan apa pun.

Berikut adalah beberapa contoh literal integer:

212. // Legal
215u. // Legal
0xFeeL. // Legal
078 // Illegal: 8 bukan angka oktal
032UU // Illegal: tidak bisa mengulang sufiks

Berikut adalah contoh lain dari berbagai jenis literal integer:

85 // decimal
0213 // octal
0x4b // hexadecimal
30 // int
30u // unsigned int
30l // long
30ul // unsigned int

Literal Floating Point (Titik Mengambang)

Literal floating point memiliki bagian bilangan bulat, titik desimal, bagian pecahan, dan bagian eksponen. Anda dapat mewakili literal floating point, baik dalam bentuk desimal atau bentuk eksponensial.

Saat mewakili menggunakan bentuk desimal, Anda harus menyertakan titik desimal, eksponen, atau keduanya. Dan saat mewakili menggunakan bentuk eksponensial, Anda harus menyertakan bagian bilangan bulat, bagian pecahan, atau keduanya. Eksponen bertanda diperkenalkan oleh e atau E.

Berikut adalah beberapa contoh literal Floating Point:

3.14159 // Legal
314159E-5L // Legal
510E // Illegal: eksponen tidak lengkap
210f // Illegal: tidak ada desimal atau eksponen
.e55 // Illegal: bilangan bulat atau pecahan hilang

Literal Boolean

Ada dua literal boolean dan mereka adalah bagian dari kata kunci C++ standar.

  • Nilai true mewakili true.
  • Nilai false mewakili false.

Anda tidak boleh menganggap nilai true sama dengan 1, dan nilai false sama dengan 0.

Literasi Karakter

Literal karakter diapit oleh tanda kutip tunggal. Jika literal dimulai dengan L (hanya huruf besar), itu adalah literal karakter lebar (misal, L'x') dan harus disimpan dalam jenis variabel wchar_t . Jika tidak, itu adalah literal karakter sempit (misal, 'x') dan dapat disimpan dalam variabel sederhana dari tipe karakter.

Karakter literal dapat berupa karakter biasa (misal, 'x'), urutan escape (misal, '\t'), atau karakter universal (misal, '\u02C0').

Ada karakter tertentu dalam C++ yang didahului dengan garis miring terbalik, akan memiliki arti khusus dan digunakan untuk merepresentasikan seperti baris baru, yaitu (\n) atau tab (\t). Dibawah ini adalah beberapa daftar kode urutan pelarian tersebut:

Escape Sequences Meaning
\\ \ karakter
\' 'karakter
\" " karakter
\? ? karakter
\a Peringatan atau bel
\b Spasi mundur
\f Umpan formulir
\n Baris batu
\r Kereta kembali
\t Tab horizontal
\v Tab vertikal
\ooo Bilangan oktal
satu sampai tiga digit
\xhh... Bilangan heksadesimal
dari satu atau lebih digit

Berikut ini adalah contoh untuk menunjukkan beberapa karakter escape sequence:

#include <iostream>
using namespace std;

int main() {
   cout<<"Ronies\tBloh\n\n";
   return 0;
}

Ketika kode di atas dikompilasi dan dieksekusi, maka akan menghasilkan hasil berikut:

Ronies Blog

String Literal

Literal string diapit dalam tanda kutip ganda. Sebuah string berisi karakter yang mirip dengan karakter literal (plain character, escape sequences, dan universal character).

Anda dapat memecah garis panjang menjadi beberapa baris menggunakan literal string dan memisahkannya menggunakan spasi putih.

Berikut adalah beberapa contoh literal string. Ketiga bentuk tersebut adalah string yang identik.

"Ronies Blog"
"Ronies, \
blog"
"Ronies, " "b" "log"

Mendefinisikan Konstanta

Ada dua cara sederhana dalam C++ untuk mendefinisikan konstanta, yaitu:

  • Menggunakan praprosesor #define.
  • Menggunakan kata kunci const.

Praprosesor #define

Berikut adalah form untuk menggunakan #define preprocessor untuk mendefinisikan sebuah konstanta:

#define identifier value

Contoh berikut akan menjelaskannya secara rinci:

#include <iostream>
using namespace std;

#defime LENGHT 10
#define WIDTH 5
#define NEWLINE '\n'

int main() {
   area int;

   area = LONG * WIDTH;
   cout<<area;
   cout<<NEWLINE;
   return 0;
}

Ketika kode di atas dikompilasi dan dieksekusi, maka akan menghasilkan hasil berikut:

50

Kata Kunci Const

Anda dapat menggunakan awalan const untuk mendeklarasikan konstanta dengan tipe tertentu sebagai berikut:

const type variable = value;

Contoh berikut menjelaskannya secara rinci:

#include <iostream>
using namespace std;

int main() {
   const int LENGHT = 10;
   const int WIDTH = 5;
   const char NEWLINE = '\n';
   int area;

   luas = LENGHT * WIDTH;
   cout<<area;
   cout<<NEWLINE;
   return 0;
}

Ketika kode di atas dikompilasi dan dieksekusi, menghasilkan hasil berikut:

50

Perhatikan bahwa ini adalah praktik pemrograman yang baik untuk mendefinisikan konstanta dalam capitals.

Lingkup Variabel Dalam C++

Lingkup Variabel Dalam C++

Lingkup Variabel dalam C++

Ruang lingkup adalah wilayah program dan secara garis besar ada tiga tempat, di mana variabel dapat dideklarasikan

  • Di dalam fungsi atau blok yang disebut variabel lokal.
  • Dalam definisi parameter fungsi yang disebut parameter formal.
  • Di luar semua fungsi yang disebut variabel global.

Kita akan mempelajari apa itu fungsi dan parameternya pada bab bab selanjutnya. Di sini mari kita jelaskan apa itu variabel lokal dan global.

Variabel Lokal

Variabel yang dideklarasikan di dalam fungsi atau blok adalah variabel lokal. Mereka hanya dapat digunakan oleh pernyataan yang ada di dalam fungsi atau blok kode tersebut. Variabel lokal tidak diketahui fungsi di luar mereka sendiri. Berikut ini adalah contoh penggunaan variabel lokal:

#include <iostream>
using namespace std;

int main() {
   // Local variable declaration:
   int a, b;
   int c;

   // actual initialization
   a = 10;
   b = 20;
   c = a + b;

   cout << c;

   return 0;
}

Variabel Global

Variabel global didefinisikan di luar semua fungsi, biasanya di atas program. Variabel global akan mempertahankan nilainya sepanjang waktu program Anda.

Sebuah variabel global dapat diakses oleh fungsi apapun. Artinya, variabel global tersedia untuk digunakan di seluruh program Anda setelah deklarasinya. Berikut adalah contoh penggunaan variabel global dan lokal:

#include <iostream>
using namespace std;

// Global variable declaration:
int g;

int main() {
   // Local variable declaration:
   int a, b;

   // actual initialization
   a = 10;
   b = 20;
   g = a + b;

   cout << g;

   return 0;
}

Sebuah program dapat memiliki nama yang sama untuk variabel lokal dan global, tetapi nilai variabel lokal di dalam suatu fungsi akan lebih diutamakan. Misalnya:

#include <iostream>
using namespace std;

// Global variable declaration:
int g = 20;

int main() {
   // Local variable declaration:
   int g = 10;

   cout << g;

   return 0;
}

Ketika kode di atas dikompilasi dan dieksekusi, maka akan menghasilkan hasil berikut:

10

Inisialisasi Variabel Lokal dan Global

Ketika variabel lokal didefinisikan, itu tidak diinisialisasi oleh sistem, Anda harus menginisialisasi sendiri. Variabel global diinisialisasi secara otomatis oleh sistem saat Anda mendefinisikannya sebagai berikut:

Data Type Initializer
int 0
char '\0'
float 0
double 0
pointer NULL

Ini adalah praktik pemrograman yang baik untuk menginisialisasi variabel dengan benar. Jika tidak, terkadang program akan menghasilkan hasil yang tidak diharapkan.

Tipe Variabel C++

Tipe Variabel C++

Tipe Variabel C++

Sebuah variabel memberi kita penyimpanan bernama yang dapat dimanipulasi oleh program. Setiap variabel dalam C++ memiliki tipe tertentu, yang menentukan ukuran dan tata letak memori variabel rentang nilai yang dapat disimpan dalam memori itu, dan himpunan operasi yang dapat diterapkan pada variabel.

Nama variabel dapat terdiri dari huruf, angka, dan karakter garis bawah. Itu harus dimulai dengan huruf atau garis bawah. Huruf besar dan huruf kecil sangat berbeda karena C++ peka huruf besar kecil.

Ada tipe dasar variabel berikut dalam C++ seperti yang dijelaskan dalam bab terakhir.

Sr.No Type Description
1 bool Menyimpan nilai benar atau salah.
2 char Biasanya satu oktet (satu byte).
Ini adalah tipe bilangan bulat.
3 int Ukuran integer paling alami untuk mesin.
4 float Nilai floating point presisi tunggal.
5 double Nilai floating point presisi ganda.
6 void Mewakili tidak adanya tipe.
7 wchar_t Tipe karakter yang luas.

C++ juga memungkinkan untuk mendefinisikan berbagai jenis variabel lain, yang akan kita bahas dalam bab bab berikutnya seperti Enumeration, Pointer, Array, Reference, Data Structures, dan Classes.

Bagian berikut akan membahas cara mendefinisikan, mendeklarasikan, dan menggunakan berbagai jenis variabel.

Definisi Variabel Dalam C++

Definisi variabel memberi tahu kompiler di mana dan berapa banyak penyimpanan yang harus dibuat untuk variabel. Definisi variabel menentukan tipe data, dan berisi daftar satu atau lebih variabel dari tipe itu sebagai berikut:

type variable_list;

Di sini, tipe harus merupakan tipe data C++ yang valid termasuk char, w_char, int, float, double, bool atau objek yang ditentukan pengguna, dll. Variable_list dapat terdiri dari satu atau lebih nama pengenal yang dipisahkan dengan koma. Beberapa deklarasi yang valid ditampilkan dibawah ini:

int i, j, k;
char c, ch;
float f, salary;
double d;

Baris int i, j, k, keduanya mendeklarasikan dan mendefinisikan variabel i, j, dan k yang menginstruksikan compiler untuk membuat variabel bernama i, j, dan k bertipe int.

Variabel dapat diinisialisasi (diberi nilai awal) dalam deklarasinya. Inisialisasi terdiri dari tanda sama dengan diikuti oleh ekspresi konstan sebagai berikut:

Type variable_name = value;

Beberapa contohnya adalah:

extern int d = 3, f = 5;     // decoration of d dan f.
int d = 3, f = 5;                 // definition dan initializing d dan f.
byte z = 22;                      // definition dan initializes z.
char x = 'x';                     // the variable x has the value 'x'.

Untuk definisi tanpa penginisialisasi, variabel dengan durasi penyimpanan statis secara implisit diinisialisasi dengan NULL (semua byte memiliki nilai 0), nilai awal dari semua variabel lain tidak terdefinisi.

Deklarasi Variabel Dalam C++

Deklarasi variabel memberikan jaminan kepada kompiler, bahwa ada satu variabel yang ada dengan jenis dan nama yang diberikan, sehingga kompiler melanjutkan kompilasi lebih lanjut tanpa memerlukan detail lengkap tentang variabel. Sebuah deklarasi variabel memiliki arti pada saat kompilasi saja, compiler membutuhkan definisi variabel yang sebenarnya pada saat menghubungkan program.

Deklarasi variabel berguna ketika Anda menggunakan banyak file dan Anda mendefinisikan variabel Anda di salah satu file yang akan tersedia pada saat menghubungkan program. Anda akan menggunakan kata kunci eksternal untuk mendeklarasikan variabel di sembarang tempat. Meskipun Anda dapat mendeklarasikan variabel beberapa kali dalam program C++ Anda, tetapi variabel tersebut hanya dapat didefinisikan sekali dalam file, fungsi, atau blok kode.

Contoh

Coba contoh berikut di mana variabel telah dideklarasikan di bagian atas, tetapi telah didefinisikan di dalam fungsi utama:

#include <iostream>
using namespace std;

// Variable decoration:
extern int a, b;
extern int c;
extern float f;

int main() {
   // Variable definition:
   int a, b;
   int c;
   float f;

  // actual initialization
   a = 10;
   b = 20;
   c = a + b;

   cout << c << endl ;

   f = 70.0/3.0;
   cout << f << endl ;

   return 0;
}

Ketika kode di atas dikompilasi dan dieksekusi, maka akan menghasilkan hasil berikut:

30
23.3333

Konsep yang sama berlaku pada deklarasi fungsi di mana Anda memberikan nama fungsi pada saat deklarasi dan definisi sebenarnya dapat diberikan di tempat lain. Misalnya:

// function declaration
int func();
int main() {
   // function call 
  int i = func();
}

// function definition
Int func() {
   return 0;
}

Lvalue dan Rvalue

Ada dua macam ekspresi dalam C++, yaitu:

Lvalue ===> Ekspresi yang merujuk ke lokasi memori disebut ekspresi lvalue. Nilai dapat muncul sebagai sisi kiri atau kanan tugas.

Rvalue ===> Istilah rvalue mengacu pada nilai data yang disimpan di beberapa alamat di memori. Nilai adalah ekspresi yang tidak dapat memiliki nilai yang ditetapkan padanya yang berarti nilai dapat muncul di sisi kanan tetapi tidak di sisi kiri tugas.

Variabel adalah nilai dan mungkin muncul di sisi kiri tugas. Literal numerik adalah nilai dan mungkin tidak ditetapkan dan tidak dapat muncul di sebelah kiri side. Berikut ini adalah pernyataan yang valid:

int g = 20;

Tapi berikut ini bukan pernyataan yang valid dan akan menghasilkan kesalahan waktu kompilasi:

10 = 20;
Tipe Data C++

Tipe Data C++

Tipe Data C++

Saat menulis program dalam bahasa apa pun, Anda perlu menggunakan berbagai variabel untuk menyimpan berbagai informasi. Variabel tidak lain adalah lokasi memori yang dicadangkan untuk menyimpan nilai. Ini berarti bahwa ketika Anda membuat variabel, Anda memesan beberapa ruang di memori.

Anda mungkin ingin menyimpan informasi dari berbagai tipe data seperti karakter, karakter lebar, integer, floating point, double floating point, boolean, dll. Berdasarkan tipe data variabel, sistem operasi mengalokasikan memori dan memutuskan apa yang dapat disimpan dalam memori yang dicadangkan.

Tipe Bawaan Primitif

C++ menawarkan programmer berbagai macam tipe data built-in serta yang ditentukan pengguna. Tabel berikut mencantumkan tujuh tipe data dasar C++:

  1. Type = Boolean, Keyword = bool
  2. Type = Character, Keyword = char
  3. Type = Double Floating Point, Keyword = double
  4. Type = Floating Point, Keyword = float
  5. Type = Integer, Keyword = int
  6. Type = Valueless, Keyword = void
  7. Type = Wide Character, Keyword = wchar_t

Beberapa tipe dasar dapat dimodifikasi menggunakan satu atau lebih dari pengubah tipe ini:

  • signed
  • unsigned
  • short
  • long

Tabel berikut menunjukkan jenis variabel, berapa banyak memori yang diperlukan untuk menyimpan nilai dalam memori, dan berapa nilai maksimum serta minimum yang dapat disimpan dalam jenis variabel tersebut:

Type Typical Bit Width Typical Range
char 1byte -127 to 127 or 0 to 255
double 8bytes +/- 1.7e +/- 308 (~15 digits)
float 4bytes +/- 3.4e +/- 38 (~7 digits)
int 4bytes -2147483648 to 2147483647
long double 8bytes +/- 1.7e +/- 308 (~15 digits)
long int 4bytes -2,147,483,648 to 2,147,483,647
short int 2bytes -32768 to 32767
signed char 1bytes -127 to 127
signed int 4bytes -2147483648 to 2147483647
signed long int 4bytes same as long int
signed short int Range -32768 to 32767
unsigned char 1byte 0 to 255
unsigned int 4bytes 0 to 4294967295
unsigned long int 4bytes 0 to 4,294,967,295
unsigned short int Range 0 to 65,535
wchar_t 2 or 4 bytes 1 wide character

Ukuran variabel mungkin berbeda dari yang ditunjukkan pada tabel di atas, tergantung pada kompiler dan komputer yang Anda gunakan.

Berikut adalah contohnya, yang akan menghasilkan ukuran yang benar dari berbagai tipe data di komputer Anda.

#include <iostream>
using namespace std;

int main() {
   cout << "Size of char : " << sizeof(char) << endl;
   cout << "Size of int : " << sizeof(int) << endl;
   cout << "Size of short int : " << sizeof(short int) << endl;
   cout << "Size of long int : " << sizeof(long int) << endl;
   cout << "Size of float : " << sizeof(float) << endl;
   cout << "Size of double : " << ukuran(double) << endl;
   cout << "Size of wchar_t : " << sizeof(wchar_t) << endl;

   return 0;
}

Contoh ini menggunakan endl, yang menyisipkan karakter baris baru setelah setiap baris dan operator << digunakan untuk meneruskan beberapa nilai ke layar. Kami juga menggunakan operator sizeof() untuk mendapatkan ukuran berbagai tipe data.

Ketika kode di atas dikompilasi dan dieksekusi, itu menghasilkan hasil berikut yang dapat bervariasi dari mesin ke mesin:

Size of char : 1
Size of int : 4
Size of short int : 2
Size of long int : 4
Size of float : 4
Size of double : 8
Size of wchar_t : 4

Deklarasi Typedef

Anda dapat membuat nama baru untuk tipe yang sudah ada menggunakan typedef. Berikut ini adalah sintaks sederhana untuk mendefinisikan tipe baru menggunakan typedef:

typedef Type newname;

Misalnya, berikut ini memberi tahu kompiler bahwa kaki adalah nama lain untuk int.

typedef in feet;

Sekarang, deklarasi berikut ini benar benar legal dan membuat variabel integer yang disebut jarak.

feet distance

Jenis Enumerasi

Tipe enumerasi mendeklarasikan nama tipe opsional dan satu set nol atau lebih pengidentifikasi yang dapat digunakan sebagai nilai tipe. Setiap pencacah adalah konstanta yang tipenya adalah pencacahan.

enum enum-name { list of names } var-list;

Membuat enumerasi membutuhkan penggunaan kata kunci enum. Bentuk umum dari tipe enumerasi adalah, sebagai berikut:

enum enum-name { red, green, blue } c;
c = blue;

Di sini, enum-name adalah nama tipe enumerasi. Daftar nama dipisahkan dengan koma.

Sebagai contoh, kode berikut mendefinisikan enumerasi warna yang disebut warna dan variabel c dari tipe warna. Akhirnya, c diberi nilai biru.

Secara default, nilai nama depan adalah 0, nama kedua memiliki nilai 1, dan nama ketiga memiliki nilai 2, dan seterusnya. Tetapi Anda dapat memberi nama, nilai tertentu dengan menambahkan penginisialisasi. Misalnya, dalam pencacahan berikut, hijau akan memiliki nilai 5.

enum color { red, green = 5, blue};

Di sini, biru akan memiliki nilai 6 karena setiap nama akan menjadi satu lebih besar dari nama yang mendahuluinya.

Komentar Dalam C++

Komentar Dalam C++

Komentar Dalam C++

Komentar program adalah pernyataan penjelasan yang dapat Anda sertakan dalam kode C++. Komentar ini membantu siapa saja yang membaca kode sumber. Semua bahasa pemrograman memungkinkan untuk beberapa bentuk komentar.

C++ mendukung komentar satu baris dan multi  baris. Semua karakter yang tersedia di dalam komentar apa pun diabaikan oleh kompiler C++.

Komentar C++ dimulai dengan /* dan diakhiri dengan */. Misalnya:

/* Ini adalah komentar */
/* Komentar C++ juga bisa
   * rentang beberapa baris
*/

Sebuah komentar juga dapat dimulai dengan //, diperpanjang hingga akhir baris. Misalnya:

#include <iostream>
using namespace std;
main() {
   cout<<"Ronies Blog"; // prints Ronies Blog
      back 0;
}

Ketika kode di atas dikompilasi, itu akan mengabaikan // prints Ronies Blog dan eksekusi akhir akan menghasilkan hasil berikut:

Ronies Blog

Dalam komentar /* dan */, karakter // tidak memiliki arti khusus. Dalam komentar //, /*, dan */ tidak memiliki arti khusus. Dengan demikian, Anda dapat menyarangkan satu jenis komentar di dalam jenis lainnya. Misalnya:

/* Comment out printing Ronies Blog:
cout<<"Ronies Blog"; // prints Ronies Blog
*/
Sintaks Dasar C++

Sintaks Dasar C++

Sintaks Dasar C++

Ketika kita mempertimbangkan program C++, itu dapat didefinisikan sebagai kumpulan objek yang berkomunikasi melalui metode pemanggil masing masing. Mari kita lihat secara singkat apa yang dimaksud dengan kelas, objek, metode, dan variabel instan.

  • Object ===> Objek memiliki status dan perilaku. Contoh, seekor anjing memiliki status (warna, nama, ras, serta perilaku), mengibas, menggonggong, dan makan. Objek adalah turunan dari kelas.
  • Class ===> Kelas dapat didefinisikan sebagai template atau cetak biru yang menjelaskan perilaku atau status objek yang didukung tipenya.
  • Methods ===> Metode pada dasarnya adalah perilaku. Sebuah kelas dapat berisi banyak metode. Itu ada dalam metode di mana logika ditulis, data dimanipulasi, dan semua tindakan dieksekusi.
  • Instance Variables ===> Setiap objek memiliki kumpulan variabel instan yang unik. Status objek dibuat oleh nilai yang ditetapkan ke variabel instan ini.

Struktur Program C++

Mari kita lihat kode sederhana yang akan mencetak kata kata "Ronies Blog".

#include <iostream>
using namespace std;

// main() is where program execution begins.
int main() {
   cout << "Ronies Blog"; // prints Ronies Blog
   return 0;
}

Mari kita lihat berbagai bagian dari program di atas:

  • Bahasa C++ mendefinisikan beberapa header, yang berisi informasi yang diperlukan atau berguna untuk program Anda. Untuk program ini, diperlukan header <iostream>.
  • Baris using namespace std yang memberitahu kompiler untuk menggunakan namespace std. Namespaces adalah tambahan yang relatif baru untuk C++.
  • Baris berikutnya // main() is where program execution begins. adalah komentar satu baris yang tersedia di C++. Komentar satu baris dimulai dengan // dan berhenti di akhir baris.
  • Baris int main() adalah fungsi utama tempat eksekusi program dimulai.
  • Baris berikutnya cout << "Ronies Blog"; menyebabkan pesan "Ronies Blog" ditampilkan di layar.
  • Baris berikutnya return 0; mengakhiri fungsi main() dan menyebabkan kembalinya nilai 0 ke proses pemanggilan.

Kompilasi dan Jalankan Program C++

Mari kita lihat cara menyimpan file, mengkompilasi, dan menjalankan program. Silakan ikuti langkah langkah yang diberikan di bawah ini:

  • Buka text editor dan tambahkan kode seperti di atas.
  • Simpan file dengan ronies.cpp.
  • Buka prompt perintah dan pergi ke direktori tempat Anda menyimpan file.
  • Ketik g++ ronies.cpp dan tekan enter untuk mengkompilasi kode Anda. Jika tidak ada kesalahan dalam kode Anda, command prompt akan membawa Anda ke baris berikutnya dan akan menghasilkan file executable a.out.
  • Sekarang, ketik a.out untuk menjalankan program Anda.
  • Anda akan dapat melihat 'Ronies Blog' tercetak di jendela.

$g++ ronies.cpp
$ ./a.out
Ronies Blog

Pastikan g++ ada di jalur Anda dan jalankannya di direktori yang berisi file ronies.cpp.

Titik koma (;) dan Blok ({}) di C++

Dalam C++, titik koma adalah terminator pernyataan. Artinya, setiap pernyataan individu harus diakhiri dengan titik koma. Ini menunjukkan akhir dari satu entitas logis.

Sebagai contoh, berikut adalah tiga pernyataan yang berbeda:

x = y;
y = y + 1;
add(x, y);

Blok adalah sekumpulan pernyataan yang terhubung secara logis yang dikelilingi oleh kurung kurawal buka dan tutup. Misalnya:

{
   cout<<"Ronies Blog"; // mencetak Ronies Blog
   return 0;
}

C++ tidak mengenali akhir baris sebagai terminator. Untuk alasan ini, tidak masalah di mana Anda meletakkan pernyataan dalam satu baris. Misalnya:

x = y;
y = y + 1;
add(x, y);

Sama dengan:

x = y; y = y + 1; add(x, y);

Pengidentifikasi C++

Pengidentifikasi C++ adalah nama yang digunakan untuk mengidentifikasi variabel, fungsi, kelas, modul, atau item lain yang ditentukan pengguna. Pengidentifikasi dimulai dengan huruf A sampai Z atau a sampai z atau garis bawah (_) diikuti dengan nol atau lebih huruf, garis bawah, dan angka (0 sampai 9).

C++ tidak mengizinkan karakter tanda baca seperti @, $, dan % dalam pengidentifikasi. C++ adalah bahasa pemrograman yang peka huruf besar atau kecil. Dengan demikian, Ronies Blog dan ronies blog adalah dua pengidentifikasi yang berbeda di C++.

Berikut adalah beberapa contoh pengidentifikasi yang dapat diterima:

  • _temp
  • a_123
  • a23b9
  • abc
  • j
  • Mohd
  • move_name
  • myname50
  • retVal
  • zara

Kata Kunci C++

Daftar berikut menunjukkan kata-kata yang dicadangkan dalam C++. Kata-kata yang dicadangkan ini tidak boleh digunakan sebagai konstanta atau variabel atau nama pengenal lainnya.

asm auto bool break
case catch char class
const const_cast continue default
delete do double dynamic_cast
else enum explicit export
extern false float for
friend goto if inline
int long mutable namespace
new operator private protected
public register reinterpret_cast return
short signed sizeof static
static_cast struct switch template
this throw true try
typedef typeid typename union
unsigned using virtual void
volatile wchar_t while

Trigraf

Beberapa karakter memiliki representasi alternatif, yang disebut barisan trigraf. Trigraf adalah urutan tiga karakter yang mewakili satu karakter dan urutan selalu dimulai dengan dua tanda tanya.

Trigraf diperluas di mana pun mereka muncul, termasuk di dalam literal string dan literal karakter, dalam komentar, dan dalam arahan preprosesor.

Berikut ini adalah trigraf yang paling sering digunakan:

Trigraph Raplacement
??= #
??/ \
??' ^
??( [
??) ]
??! |
??< {
??> }
??- ~

Semua kompiler tidak mendukung trigraf dan tidak disarankan untuk digunakan, karena sifatnya yang membingungkan.

Spasi di C++

Baris yang hanya berisi spasi, mungkin dengan komentar, dikenal sebagai baris kosong, dan kompiler C++ sama sekali mengabaikannya.

Spasi adalah istilah yang digunakan dalam C++ untuk menggambarkan kekosongan, tab, karakter baris baru, dan komentar. Spasi memisahkan satu bagian dari pernyataan dari yang lain dan memungkinkan kompiler untuk mengidentifikasi di mana suatu elemen dalam pernyataan, seperti int, ends, dan the next elemen dimulai.

Pernyataan 1

int age;

Dalam pernyataan di atas harus ada setidaknya satu karakter spasi (biasanya spasi) antara int dan age agar kompiler dapat membedakannya.

Pernyataan 2

buah = apel + jeruk;   // Dapatkan total buah

Dalam pernyataan 2 di atas, karakter spasi tidak diperlukan antara buah dan =, atau antara = dan apel, meskipun Anda bebas untuk memasukkan beberapa jika Anda ingin tujuan keterbacaan.

Pengaturan Lingkungan C++

Pengaturan Lingkungan C++

Pengaturan Lingkungan Lokal

Jika Anda masih ingin mengatur lingkungan untuk C++, Anda harus memiliki dua perangkat lunak berikut di komputer / laptop Anda:

Editor Teks

Ini akan digunakan untuk mengetik program C++ Anda. Contoh beberapa editor termasuk Windows Notepad, perintah Edit OS, Brief, Epsilon, EMACS, dan vim atau vi.

Nama dan versi editor teks dapat bervariasi pada sistem operasi yang berbeda. Misalnya, notepad akan digunakan di Windows, sedangkan vim atau vi dapat digunakan di Windows serta Linux, atau UNIX.

File yang Anda buat dengan editor disebut file sumber, sedangkan untuk C++ biasanya diberi nama dengan ekstensi .cpp, .cp, atau .c.

Editor teks harus tersedia untuk memulai pemrograman C++ Anda.

Kompiler C++

Ini adalah kompiler C++ yang sebenarnya, yang akan digunakan untuk mengkompilasi kode sumber Anda menjadi program akhir yang dapat dieksekusi.

Sebagian besar kompiler C++ tidak peduli ekstensi apa yang Anda berikan ke kode sumber Anda, tetapi jika Anda tidak menentukan sebaliknya, banyak yang akan menggunakan .cpp secara default.

Kompiler yang paling sering digunakan dan tersedia gratis adalah kompiler GNU C/C++. Jika tidak, Anda dapat memiliki kompiler, baik dari HP atau Solaris jika Anda memiliki Sistem Operasi masing masing.

Menginstal Kompiler GNU C/C++

Instalasi Memakai UNIX / Linux

Jika Anda menggunakan Linux atau UNIX, periksa apakah GCC sudah diinstall pada sistem Anda atau belum. Caranya dengan memasukkan perintah berikut dari baris perintah:

$g++ -v

Jika Anda telah menginstall GCC, maka harus mencetak pesan seperti berikut:

Using built-in specs.
Target: i386-redhat-linux
Configured with: ../configure --prefix=/usr .......
Thread model: posix
gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)

Jika GCC tidak diinstall, maka Anda harus menginstallnya sendiri menggunakan petunjuk terperinci yang tersedia di Gcc.Gnu.

Instalasi Memakai Mac OS X

Jika Anda menggunakan Mac OS X, cara termudah untuk mendapatkan GCC adalah dengan mengunduh lingkungan pengembangan Xcode dari situs web Apple dan ikuti petunjuk penginstalan sederhana.

Xcode saat ini tersedia di Developer.Apple.

Instalasi Windows

Untuk menginstal GCC di Windows, Anda perlu menginstal MinGW. Untuk menginstal MinGW, caranya buka halaman MinGW dan ikuti tautan ke halaman unduhan MinGW. Unduh versi terbaru dari program instalasi MinGW yang seharusnya diberi nama MinGW-<version>.exe.

Saat menginstal MinGW, minimal Anda harus menginstal gcc-core, gcc-g++, binutils, dan runtime MinGW. Tetapi Anda mungkin ingin menginstall lebih banyak.

Tambahkan subdirektori bin dari instalasi MinGW Anda ke variabel lingkungan PATH Anda, sehingga Anda dapat menentukan alat alat ini pada baris perintah dengan nama sederhananya.

Ketika instalasi selesai, Anda akan dapat menjalankan gcc, g++, ar, ranlib, dlltool, dan beberapa alat GNU lainnya dari baris perintah Windows.

Dasar dan Ikhtisar C++

Dasar dan Ikhtisar C++

Ikhtisar C++

C++ adalah bahasa pemrograman yang diketik secara statis, dikompilasi, tujuan umum, peka huruf besar kecil, bentuk bebas yang mendukung pemrograman prosedural, berorientasi objek, dan generik.

C++ dianggap sebagai bahasa tingkat menengah, karena terdiri dari kombinasi fitur bahasa tingkat tinggi dan tingkat rendah.

C++ dikembangkan oleh Bjarne Stroustrup mulai tahun 1979 di Bell Labs di Murray Hill, New Jersey, sebagai peningkatan bahasa C dan awalnya bernama C dengan kelas, tetapi kemudian berganti nama menjadi C++ pada tahun 1983.

C++ adalah superset dari C, dan hampir semua program C legal adalah program C++ legal.

Catatan: Sebuah bahasa pemrograman dikatakan menggunakan pengetikan statis ketika pengecekan tipe dilakukan selama waktu kompilasi sebagai lawan runtime.

Pemrograman Berorientasi Objek

C++ sepenuhnya mendukung pemrograman berorientasi objek, termasuk empat pilar pengembangan berorientasi objek sebagai berikut:

  • Enkapsulasi
  • Menyembunyikan data
  • Warisan
  • Polimorfisme

Perpustakaan Standar

Standar C++ terdiri dari tiga bagian penting, yaitu:

  • Bahasa inti memberikan semua blok bangunan termasuk variabel, tipe data, literal, dll.
  • Pustaka Standar C++ memberikan serangkaian fungsi yang kaya untuk memanipulasi file, string, dll.
  • Perpustakaan template standar memberikan serangkaian metode yang kaya untuk memanipulasi struktur data, dll.

Standar ANSI

Standar ANSI adalah upaya untuk memastikan bahwa C++ portabel. Kode yang ditulis untuk kompiler Microsoft akan dikompilasi tanpa kesalahan, menggunakan kompiler pada Mac, UNIX, kotak Windows, atau Alpha.

Standar ANSI telah stabil untuk sementara waktu, dan semua produsen kompiler C++ utama mendukung standar ANSI.

Belajar C++

Hal terpenting saat belajar C++ adalah fokus pada konsep.

Tujuan mempelajari bahasa pemrograman adalah untuk menjadi programmer yang lebih baik yaitu, menjadi lebih efektif dalam merancang dan mengimplementasikan sistem baru dan memelihara yang lama.

C++ mendukung berbagai gaya pemrograman. Kita dapat menulis dalam gaya Fortran, C, Smalltalk, dll dalam bahasa apa pun. Setiap gaya dapat mencapai tujuannya secara efektif sambil mempertahankan efisiensi runtime dan ruang.

Penggunaan C++

C++ digunakan oleh ratusan ribu programmer pada dasarnya setiap domain aplikasi.

C++ banyak digunakan untuk menulis driver perangkat dan perangkat lunak lain yang mengandalkan manipulasi langsung perangkat keras di bawah batasan waktu nyata.

C++ banyak digunakan untuk pengajaran dan penelitian karena cukup bersih untuk keberhasilan pengajaran konsep dasar.

Siapapun yang pernah menggunakan Apple Macintosh atau PC yang menjalankan Windows, secara tidak langsung telah menggunakan C++ karena antarmuka pengguna utama dari sistem ini ditulis dalam C++.