Хочется чего-то новенького, необычного? Тогда добро пожаловать в мир чудеc C++17:
if constexpr (auto& [number, ok] = variable; ok)
return "Hi"
else
return number + 42;
Вы услышите о новом стандарте C++, обнаружите для себя новые полезные классы, функции и возможности языка. Для каждой новинки я приведу примеры использования, расскажу о нюансах и подводных камнях.
А ещё вы узнаете о том, как проходят заседания комитета по стандартизации C++ и сможете задать интересующие вас вопросы связанные с нововведениями С++17 и С++Next.
69. Structured binding
auto safe_info_14() {
auto d = get_device_info();
if (!d.first) // first? Что в нём хранится?
throw safe_info_exception();
return d.second; // second?
}
69 / 105
70. Structured binding
using device_info
= std::array<char, 1024 * 640>; // 640КБ должно быть достаточно для
каждого :)
std::pair<bool, device_info> get_device_info() noexcept;
auto safe_info_14() {
auto d = get_device_info();
if (!d.first) // first? Что в нём хранится?
throw safe_info_exception();
return d.second; // second?
70 / 105