Итераторы в C++ — удобный способ работы с контейнерами
#новичкам
Итератор — это объект, который позволяет перемещаться по элементам контейнера. Он похож на указатель, но работает с контейнерами стандартной библиотеки, такими как
Рассмотрим итераторы на примере
Далее можно обойти все элементы с помощью итератора
А теперь упростим запись, используя
🔥 Такой способ удобнее, особенно для простых случаев. Однако итераторы остаются мощным инструментом, позволяя работать со сложными структурами данных.
📣 C++ Ready | #практика
#новичкам
Итератор — это объект, который позволяет перемещаться по элементам контейнера. Он похож на указатель, но работает с контейнерами стандартной библиотеки, такими как
vector
, map
, set
или list
.Рассмотрим итераторы на примере
std::vector<int>
, для начала создадим и присвоим значение:std::vector<int> numbers = {1, 2, 3, 4, 5};
Далее можно обойти все элементы с помощью итератора
it
. Здесь begin()
возвращает итератор на первый элемент, а end()
— на элемент за последним:for (auto it = numbers.begin(); it != numbers.end(); ++it) {
std::cout << *it << " ";
}
А теперь упростим запись, используя
range-based for.
Первым аргументом мы должны обозначить тип элемента массива, чаще всего используют auto
, далее записываем название элемента на каждом цикла и через : пишем название самой структуры:for (auto num : numbers) {
std::cout << num << " ";
}
🔥 Такой способ удобнее, особенно для простых случаев. Однако итераторы остаются мощным инструментом, позволяя работать со сложными структурами данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥6
Cтруктурированный, относительно полный, и достаточно глубокий материал по стандарту языка C++, состоящий из набора коротких видео, рассчитанных на людей уже знающих язык. В этих видео автор, в меру своего разумения, пытается освещать тонкие и дискуссионные вопросы С++
Ссылочка на плейлист: YouTube🖤
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥6👎1
•
std::async
— выполняет функции в отдельных потоках, управляя ими автоматически. Результат выполнения возвращается через std::future
, что упрощает работу с асинхронными задачами.•
std::variant
— позволяет хранить значения разных типов в одной переменной, гарантируя, что в каждый момент времени используется только один тип. Это исключает ошибки приведения и делает код более надежным.🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25👍4
constexpr
— это спецификатор, обозначающий, что выражение, переменная или функция могут быть вычислены на этапе компиляции, если их аргументы являются константными, что способствует оптимизации и повышению производительности кода.Основные моменты:
• constexpr функции — вычисление значений на этапе компиляции
• constexpr переменные — создание неизменяемых констант
• Применение для определения размеров массивов и оптимизации программ
🔥 — если узнал новое
🤝 — если уже использовал
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25🤝8👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Уже были сайты на разные темы, теперь пришло время быстренько изучить Git
learngitbranching — небольшая браузерная игра, которая поможет вам изучить Git. В ней вы познакомитесь на практике с основными командами, которые пригодятся вам в повседневной работе.
📌 Ссылочка: learngitbranching.js
📣 C++ Ready | #ресурс
learngitbranching — небольшая браузерная игра, которая поможет вам изучить Git. В ней вы познакомитесь на практике с основными командами, которые пригодятся вам в повседневной работе.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍5👎1
👍14🔥6👎2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10👎1
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍7
Лямбда-выражение
— это функция, которую можно определить непосредственно в коде. Она позволяет создавать компактные и выразительные конструкции, избегая необходимости объявления отдельной функции.Основное моменты:
• Универсальные лямбды — обобщение функций с auto-параметрами
• Захват move-only объектов — безопасное перемещение уникальных ресурсов
• Mutable-лямбды — изменение копий переменных без влияния на внешний контекст
🔥 — если узнал новое
🤝 — если уже использовал
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23🤝9👍1