C++ стал международным языком. Теперь все переговоры касательно IT тематик ведутся именно на этом языке. Поздравим нашего любимца в комментариях!
Изменяемые лямбда-функции
Применения ключевого слова mutable используется для сохранения состояния в лямбда-функциях. Обычно оператор вызова функции замыкания является константным. Другими словами — лямбда не может модифицировать переменные, захваченные по значению.
Но ключевое слово mutable может быть применено ко всей лямбда-функции, что сделает все её переменные изменяемыми.
Следует заметить, что в отличии от mutable-переменных в объявлении класса, мутабельные лямбда-функции должны использоваться относительно редко и очень аккуратно. Сохранение состояния между вызовами лямбда-функции может быть опасным и контринтуитивным.
Применения ключевого слова mutable используется для сохранения состояния в лямбда-функциях. Обычно оператор вызова функции замыкания является константным. Другими словами — лямбда не может модифицировать переменные, захваченные по значению.
Но ключевое слово mutable может быть применено ко всей лямбда-функции, что сделает все её переменные изменяемыми.
Следует заметить, что в отличии от mutable-переменных в объявлении класса, мутабельные лямбда-функции должны использоваться относительно редко и очень аккуратно. Сохранение состояния между вызовами лямбда-функции может быть опасным и контринтуитивным.
C++, ping и traceroute
Ping — утилита для проверки целостности и качества соединений в сетях на основе TCP/IP, а также обиходное наименование самого запроса
Смотреть статью
Ping — утилита для проверки целостности и качества соединений в сетях на основе TCP/IP, а также обиходное наименование самого запроса
Смотреть статью
Преобразование списка в массив в C++
Простое решение состоит в том, чтобы использовать цикл for на основе диапазона для обхода списка и, один за другим, добавлять каждый элемент в следующий доступный индекс в массиве.
Другой способ преобразование можно найти здесь.
Простое решение состоит в том, чтобы использовать цикл for на основе диапазона для обхода списка и, один за другим, добавлять каждый элемент в следующий доступный индекс в массиве.
Другой способ преобразование можно найти здесь.
Алгоритм fill_n
Алгоритм используется для заполнения некоторых значений по умолчанию в контейнере.
Он принимает начало итератора и количество позиций n в качестве аргументов и заполняет первую позицию n , начиная с позиции, указанной параметром begin , заданным значением.
Синтаксис:
Алгоритм используется для заполнения некоторых значений по умолчанию в контейнере.
Он принимает начало итератора и количество позиций n в качестве аргументов и заполняет первую позицию n , начиная с позиции, указанной параметром begin , заданным значением.
Синтаксис:
void fill_n (начало итератора, int n, значение типа);Оператор присваивания ( = ), строго говоря, является бинарным оператором. Его объявление идентично объявлению любого другого бинарного оператора со следующими исключениями:
☑️ Он должен быть нестатической функцией-членом.
☑️ Он не наследуется производными классами.
☑️ Компилятор может создать функцию operator = по умолчанию для типов классов, если она не существует.
В примере показано, как объявить оператор присваивания.
☑️ Он должен быть нестатической функцией-членом.
☑️ Он не наследуется производными классами.
☑️ Компилятор может создать функцию operator = по умолчанию для типов классов, если она не существует.
В примере показано, как объявить оператор присваивания.
Дорожная карта навыков разработчика на C++
В этой статье мы с помощью карты покажем, какие навыки и знания нужны разработчику на C++.
Смотреть статью
В этой статье мы с помощью карты покажем, какие навыки и знания нужны разработчику на C++.
Смотреть статью
Хабр
Дорожная карта навыков разработчика на C++
Джеймс Гослинг как-то сказал, что Java — это C++, из которого убрали все пистолеты, ножи и дубинки, однако практика показывает, что «ножи и дубинки» становятся классным инструментом в руках опытных разработчиков. В общем, немалая часть проклятий в адрес C++…
Алгоритмы и структуры данных на C++
В данном плейлисте вы найдете лекции от преподавателя МФТИ по курсу "Алгоритмы и структуры данных на С++".
Смотреть уроки
В данном плейлисте вы найдете лекции от преподавателя МФТИ по курсу "Алгоритмы и структуры данных на С++".
Смотреть уроки
Функция resize
Изменяет размер контейнера так, чтобы он содержал n элементов.
Если n меньше текущего размера контейнера , содержимое сокращается до первых n элементов, удаляя все остальные (и уничтожая их).
Если n больше текущего размера контейнера , содержимое расширяется, вставляя в конце столько элементов, сколько необходимо для достижения размера n . Если указан val , новые элементы инициализируются как копии val , в противном случае они инициализируются значением.
Если n также больше, чем текущая вместимость контейнера, происходит автоматическое перераспределение выделенного пространства для хранения.
Изменяет размер контейнера так, чтобы он содержал n элементов.
Если n меньше текущего размера контейнера , содержимое сокращается до первых n элементов, удаляя все остальные (и уничтожая их).
Если n больше текущего размера контейнера , содержимое расширяется, вставляя в конце столько элементов, сколько необходимо для достижения размера n . Если указан val , новые элементы инициализируются как копии val , в противном случае они инициализируются значением.
Если n также больше, чем текущая вместимость контейнера, происходит автоматическое перераспределение выделенного пространства для хранения.