- 20.06.2022
- 23 845
- 218
- 36
- Награды
- 10
- Пол
- Муж.
Репутация:
- Автор темы
- Администратор
- Модератор
- Команда форума
- #1
Многие до сих пор не знают, что в C++ есть возможность распаковать структуру в переменные, и делается это очень просто:
Это невероятно удобно при итерации таблиц:
Однако это не создает переменные в стеке, поэтому variable capturing в лямбда-выражениях работать не будет:
C++:
struct my_struct {
float time;
int counter;
const char* name;
};
my_struct my_obj{};
// магия!
const auto [time, counter, name] = my_obj;
Это невероятно удобно при итерации таблиц:
C++:
std::unordered_map<int, std::string> data;
for (const auto& [index, name] : data) {
std::cout << index << "\n";
std::cout << name << "\n";
}
C++:
std::tuple<int, int> data = std::make_tuple(69, 420);
const auto& [tup_first, tup_second] = data;
// тут будет ошибка компиляции
const auto func = [tup_first, tup_second]() -> bool {
return tup_first == tup_second;
};
Последние темы в этом разделе:
- C# 8.0 Стартовый (2021) [Александр Шевчук]
- [Stepik] Указатели и память С++ (2024)
- Создаём Discord-бота с использованием C# и библиотеки Discord.net
- Алфавит и основные понятия языка C++
- [Яндекс.Практикум] Разработчик C++ [Все Части] (2023)
- [Валентин Кравченко, Роман Сакутин] C# c 0 до профи (2022)
- [Udemy] Структуры данных и алгоритмы на C++ + упражнения LEETCODE (2024)
- [iamtimcorey] Мастер-курс по C# (2023)
- [udemy] Изучайте программирование на C++, создавая игры Learn C++ Programming by Making Games, Volume 1 (2023)
- C# (C Sharp) на примерах из GTA 5 (слив курса с itvdn) [Роман Самчук]