Публикации по теме 'cplusplus'
С++ с нуля
это учебник по С++ для начинающих, которые хотят изучить основы С++
и быстро перейти на продвинутый уровень, и его можно использовать в качестве учебника по обновлению С++, который кратко проходит по различным темам, мы говорим о печати, переменных, условных операторах, массивах, циклах for, ранжированных циклах, циклах While Loops, выполнении циклов while, функциях, шаблонах функций , перегрузка функций и разрешение перегрузки, специализация шаблонов, итераторы, векторы, ссылки,..
Ежедневный бит(е) C++ | Самый длинный цикл в графе
Ежедневный бит (е) C ++ # 203, Распространенная проблема на собеседовании: самый длинный цикл в графе.
Сегодня мы рассмотрим распространенную проблему интервью C++: самый длинный цикл в графе.
Для заданного ориентированного графа в виде std::vector‹int› , где значение в индексе i представляет пункт назначения исходящего ребра из i ( -1 используется для обозначения отсутствия исходящих ребер), определяют размер самого длинного цикла в графе.
Например, приведенный выше..
Истории C++: оптимизация возвращаемого значения для ваших функций
Некоторые менее известные возможности C++
Компилятор C++ использует несколько методов оптимизации. Один из таких методов оптимизации включает устранение временного объекта, созданного для хранения возвращаемых значений. Такой метод называется оптимизацией возвращаемого значения (RVO).
Оптимизация возвращаемого значения (RVO)
Ежедневный бит(е) C++ | std::views::counted
Ежедневный бит (e) C++ # 222, альтернатива диапазону C++ 20 для counted_iterator: std::views::counted.
std::views::counted — это диапазон C++20, эквивалентный std::counted_iterator , который создает диапазон на основе итератора и количества элементов.
Подобно std::views::take , это представление также эффективно обрабатывает непрерывные диапазоны и диапазоны произвольного размера.
Для смежных диапазонов создается std::span ; для диапазонов с произвольным доступом он разрешает..
Ежедневный бит(е) C++ | std::views::чанк
Ежедневный бит (е) C++ # 108, C++ 23 std::views::chunk
C++23 std::views::chunk — это простое представление, которое создаст представление поддиапазонов, охватывающих заданное количество элементов каждый.
Если диапазон нельзя разделить без остатка, последний поддиапазон будет содержать оставшиеся (и, следовательно, меньше) элементы.
#include <vector>
#include <ranges>
std::vector<int> data{1,2,3,4,5,6,7,8,9};
// Iterate over chunks of size 4 (and one chunk of..
Ежедневный бит(е) C++ | Диапазон для цикла
Ежедневный бит (е) C ++ # 180, цикл range-for как замена необработанных циклов.
Цикл на основе диапазона был введен в C++11; однако только с введением представлений C++20 он может заменить почти все экземпляры необработанных циклов for.
#include <algorithm>
#include <vector>
#include <ranges>
// C++11: iterate over values in an initializer list
for (auto v : {1, 1, 2, 3, 5, 8, 13}) {}
// C++20: iterate over [1,10), values 1..9
for (auto v : std::views::iota(1,..
Викторина Nec C++ — 0026
В программе есть ошибка времени компиляции. Программа имеет неопределенное/определяемое реализацией поведение. Программа имеет неопределенное поведение. Программа гарантированно выводит: