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.
Elimizde şöyle bir kod olsun. Bu bellek alanı 0 ile doldurulur.
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 ArrayElimizde şö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