// Сужающие преобразования, различия между {} и () при создании объектов (C++ 11)
#include <stdio.h>
class A
{
public:
A(int a, bool b)
{
}
int x1 { 0 }; // 1
int x2( 0); // 2
};
int main()
{
double x, y, z;
int n1(x + y + z); // 3
int n2{ x + y + z }; // 4
A a1{ 5, true }; // 5
A a2{ 5, 10. }; // 6
A a3{}; // 7
return 0;
}