То, что я имею в виду, можно объяснить следующим примером:
auto p = std::make_shared<int>();
Является ли инициализированная переменная int
инициализирована по умолчанию (таким образом, имеет значение мусора) или инициализируется значение (таким образом, значение равно нулю)? Я тестировал GCC 5.2 и clang 3.6, причем первая выполняла инициализацию значения, а вторая выполняла инициализацию по умолчанию. Мне интересно, что говорит об этом стандарт? На мой взгляд, современный С++ должен обязательно выполнять инициализацию значения в этом случае.