Latest web development tutorials

cast operator C ++

Operator C ++ Operator C ++

Operator cor adalah operator khusus, yang mengubah tipe data untuk tipe data lain. Operator cor adalah operator unary, prioritas dan operator unary lainnya sama.

Kebanyakan C ++ compiler mendukung cast operator yang paling umum:

(type) expression 

Di sini, tipe adalah tipe data setelah konversi. Berikut adalah beberapa cast operator dukungan C ++ lainnya:

  • const_cast <jenis> (expr): const_cast operator yang digunakan untuk memodifikasi jenis const / properti volatile.Selain atribut const atau volatile, target harus tipe yang sama seperti jenis sumber. Jenis konversi terutama digunakan untuk mentransfer atribut operasi const objek, Anda dapat menambahkan const atribut untuk dihapus atribut const.

  • dynamic_cast <jenis> (expr): dynamic_cast dieksekusi pada waktu berjalan untuk mengkonversi, memverifikasi keabsahan konversi.Jika konversi tidak dijalankan, konversi gagal, ekspresi expr bertekad untuk menjadi nol. Ketika dynamic_cast melakukan konversi dinamis, jenis harus menjadi kelas pointer atau tipe referensi void *, jika jenisnya adalah jenis kelas pointer, maka expr harus pointer, jika jenis adalah referensi yang expr juga harus menjadi acuan.

  • reinterpret_cast <jenis> (expr): reinterpret_cast operator untuk pointer ke beberapa jenis lain dari pointer.Ini bisa menjadi pointer ke integer, Anda dapat menempatkan sebuah integer menjadi pointer.

  • static_cast <jenis> (expr): static_cast operator melakukan konversi non-dinamis, cek kelas untuk menjamin keamanan konversi tidak berjalan.Sebagai contoh, dapat digunakan untuk mengkonversi pointer kelas dasar untuk pointer kelas turunan.

Semua operator cor di atas dalam penggunaan kelas dan objek akan digunakan. Sekarang, pertimbangkan contoh berikut untuk memahami bagaimana menggunakan C ++, operator cor sederhana. Copy dan paste C ++ program berikut untuk test.cpp berkas, mengkompilasi dan menjalankan program.

#include <iostream>
using namespace std;
 
main()
{
   double a = 21.09399;
   float b = 10.20;
   int c ;
 
   c = (int) a;
   cout << "Line 1 - Value of (int)a is :" << c << endl ;
   
   c = (int) b;
   cout << "Line 2 - Value of (int)b is  :" << c << endl ;
   
   return 0;
}

Ketika kode di atas dikompilasi dan dijalankan, menghasilkan hasil sebagai berikut:

Line 1 - Value of (int)a is :21
Line 2 - Value of (int)b is  :10

Operator C ++ Operator C ++