16 Nisan 2018 Pazartesi

Value Initialization

Value Initialization Nedir? (C++03)
Bir değişkene ileride okuma yapılacağı farz edilerek değer atanması anlamına gelir.

Value Initizalization ve Primitive Tipler
Pritimive tipler için C++ standardında aşağıda belirtilen başlama değeri kullanılır. Görüldüğü gibi primitive tipler için value initialization, zero initialization ile aynıdır.
int = 0, 
bool = false, 
float = 0.0f,  
enum = (enum type)0, 
pointer = null pointer
pointer to member = null member pointer
Value Initialization ve Primitive Array
Elimizde şöyle bir kod olsun. Bu bellek alanı  0 ile doldurulur.
new char [size]()

Value Initialization ve Constructor
Eğer bir member variable initializer list içinde ise value initialize edilir. Initializer list içinde yoksa default initialize edilir.
struct B
{
  int i, j, k;
};

struct A
{
  A() : b() {} // value-initializes b: b.i, b.j, b.k zero initialized

  B b;
};

struct AA
{
  AA() {} // default-initializes b: b.i, b.j, b.k have no initialization

  B b;
};





Hiç yorum yok:

Yorum Gönder