Cześć,
mam pytanie odnośnie jawnych konstruktorów typów podstawowych. W implementacjach często zamiast dokładnych wartości jest wywołany jawny konstruktor:
int a = int();
int b = int{};
float c = float();
void *p = (void *){};
Oczywiście typ najczęściej nie jest określony (wygląda to +/- tak: template < typename _Ty > /* ... */ _Ty val = _Ty()
, ale to nieistotne).
I tutaj się zaczyna pytanie. Czy standard określa, dokładnie jaką wartością jest zainicjalizowana zmienna danego typu? Czy to sprawa kompilatora, i lepiej nie ryzykować?