fa
Feedback
C++ geek

C++ geek

رفتن به کانال در Telegram

Учим C/C++ на примерах

نمایش بیشتر
3 540
مشترکین
-224 ساعت
-177 روز
-2930 روز
آرشیو پست ها
Метод map::emplace_hint Аналогичен методу emplace(), но дополнительно позволяет подсказать позицию вставки с помощью итератор
Метод map::emplace_hint Аналогичен методу emplace(), но дополнительно позволяет подсказать позицию вставки с помощью итератора. Метод возвращает итератор на вставленный элемент или на существующий элемент (вставить элемент с одинаковым ключом нельзя). ➡️ @cpp_geek

Бесконечный цикл Для чего? Когда while(true), while(1), for(;;) и прочие стандартные пути создания цикла кажутся не слишком и
Бесконечный цикл Для чего? Когда while(true), while(1), for(;;) и прочие стандартные пути создания цикла кажутся не слишком информативными, можно использовать подобный макрос. Единственный плюс который он дает — чуть лучшую читаемость кода. ➡️ @cpp_geek

Алгоритм next_permutation next_permutation(first, last) - переставляет элементы так, чтобы получилась следующая в лексикограф
Алгоритм next_permutation next_permutation(first, last) - переставляет элементы так, чтобы получилась следующая в лексикографическом порядке перестановка. Можно применять не только к векторам, но и к строкам (как и многие другие алгоритмы). Метод возвращает true, если удалось построить следующую в лексикографическом порядке перестановку. Если же первоначальная перестановка уже была максимальной в лексикографическом порядке, то метод генерирует минимальную в лексикографическом порядке перестановку и возвращает false.

Могут ли ссылки отсылать к недопустимому местоположению в памяти в C++? В C++ ссылки более безопасны, чем указатели, потому ч
Могут ли ссылки отсылать к недопустимому местоположению в памяти в C++? В C++ ссылки более безопасны, чем указатели, потому что ссылки должны быть инициализированы, и их нельзя изменить, чтобы ссылаться на что-то другое после инициализации. Но есть исключения, когда у нас могут быть недействительные ссылки, они приведены на картинке. ➡️ @cpp_geek

Функция isalpha() Функция isalpha() в С++ проверяет, является ли данный символ буквой или нет. Синтаксис: isalpha(int ch). Во
Функция isalpha() Функция isalpha() в С++ проверяет, является ли данный символ буквой или нет. Синтаксис: isalpha(int ch). Возвращаемое значение: Функция возвращает ненулевое значение, если ch – буква и ноль, если ch не буква. ➡️ @cpp_geek

Алгоритм replace_if Алгоритм replace_if() используется для присвоения нового значения всем элементам в диапазоне [first, last
Алгоритм replace_if Алгоритм replace_if() используется для присвоения нового значения всем элементам в диапазоне [first, last), для которых функция IsOdd возвращает true. ➡️ @cpp_geek

-->«оператор» Вы можете использовать -->«оператор» в цикле while в качестве оператора «Переход к». Например, вы можете печата
-->«оператор» Вы можете использовать -->«оператор» в цикле while в качестве оператора «Переход к». Например, вы можете печатать числа 7 6 5 4 3 2 1 с помощью цикла while следующим образом. Примечание: --> на самом деле это не оператор, а комбинация двух операторов --и >. Вышеупомянутое while то же самое while( (x--) > 0 ), что читается как «уменьшить x на 1, а затем сравнить результат с 0». ➡️ @cpp_geek

Алгоритм move Синтаксис: std :: move (first, last, result); Перемещает элементы диапазона [first,last) в диапазон, начиная с
Алгоритм move Синтаксис: std :: move (first, last, result); Перемещает элементы диапазона [first,last) в диапазон, начиная с позиции result. Значение элементов в [first,last) массиве передается элементам, на которые указывает result. После вызова элементы в диапазоне [first,last) остаются в неопределенном, но допустимом состоянии. ➡️ @cpp_geek

Алгоритм inner_product Вычисляет сумму поэлементного умножения двух диапазонов и добавляет ее к указанному начальному значени
Алгоритм inner_product Вычисляет сумму поэлементного умножения двух диапазонов и добавляет ее к указанному начальному значению либо вычисляет результат обобщенной процедуры, где бинарные операции суммы и умножения заменены на другие указанные бинарные операции. ➡️ @cpp_geek

Алгоритм upper_bound Он возвращает итератор, указывающий на первый элемент в диапазоне [first, last), который больше значения
Алгоритм upper_bound Он возвращает итератор, указывающий на первый элемент в диапазоне [first, last), который больше значения, или last, если такой элемент не найден. Элементы в диапазоне должны быть уже отсортированы или, по крайней мере, разделены по значению val. ➡️ @cpp_geek

Преобразование типа с плавающей точкой в целочисленный Язык C++ не предоставляет примитивную операцию округления чисел с плав
Преобразование типа с плавающей точкой в целочисленный Язык C++ не предоставляет примитивную операцию округления чисел с плавающей точкой. Самым простым методом преобразования числа с плавающей точкой x в ближайшее целое число n будет оператор(см на картинке). Используя такой метод, если x будет точно посередине между двумя целыми числами, то n будет округлено в большую сторону. Например, 0,5 -> 1; 1,5 -> 2; -0,5 -> 0; -1,5 -> -1. ➡️ @cpp_geek

Неиспользуемые переменные Подобный макрос есть, например, в cocos2d-x, там он называется CC_UNUSED_PARAM. Из недостатков: тео
Неиспользуемые переменные Подобный макрос есть, например, в cocos2d-x, там он называется CC_UNUSED_PARAM. Из недостатков: теоретически, он может работать не на всех компиляторах. Тем не менее, в cocos2d-x он для всех платформ определен абсолютно одинаково. Для чего? Этот макрос позволяет избежать предупреждения о неиспользуемой переменной, а читающему код он как бы говорит: «тот кто писал это — знал, что переменная не используется, все в порядке». ➡️ @cpp_geek

Алгоритм nth_element Перестраивает список таким образом, что элемент в n-й позиции — это тот элемент, который должен быть в э
Алгоритм nth_element Перестраивает список таким образом, что элемент в n-й позиции — это тот элемент, который должен быть в этой позиции, если мы сортируем список. ➡️ @cpp_geek

Алгоритм iter_swap std::swap используется для обмена элементами между двумя контейнерами. Один из других способов сделать то
Алгоритм iter_swap std::swap используется для обмена элементами между двумя контейнерами. Один из других способов сделать то же самое облегчает std::iter_swap, который, как следует из названия, используется для замены элементов с помощью итератора. Он просто меняет значения элементов, на которые указывают итераторы. Если мы посмотрим на его внутреннюю работу, мы обнаружим, что эта функция сама использует std::swap() . ➡️ @cpp_geek

Алгоритм clamp Сравнивает значение с верхней и нижней границей и возвращает ссылку на значение, если оно находится между гран
Алгоритм clamp Сравнивает значение с верхней и нижней границей и возвращает ссылку на значение, если оно находится между границами, или ссылку на верхнюю или нижнюю границу, если значение выше или ниже, соответственно. ➡️ @cpp_geek

Алгоритм includes Используется для распознавания, существуют ли все числа тз одного контейнера в других контейнерах. Это помо
Алгоритм includes Используется для распознавания, существуют ли все числа тз одного контейнера в других контейнерах. Это помогает проверить, является ли набор подмножеством другого набора или нет, учитывая, что набор упорядочен. Ожидается, что элементы будут отсортированы по порядку. ➡️ @cpp_geek

Указатели с ключевыми словами const и volatile Ключевые слова const и volatile изменяют то, как обрабатываются указатели. con
Указатели с ключевыми словами const и volatile Ключевые слова const и volatile изменяют то, как обрабатываются указатели. const указывает, что данные по указателю не могут быть изменены после инициализации; volatile указывает, что значение может быть изменено действиями, отличными от тех, которые указаны в пользовательском приложении. volatile полезно для объявления объектов в общей памяти, к которым могут обращаться несколько процессов или для глобальных областей данных. ➡️ @cpp_geek

Некоторые различия между ссылками и указателями 1. Указатель может быть объявлен void, а ссылка - никогда. Пример на картинке
Некоторые различия между ссылками и указателями 1. Указатель может быть объявлен void, а ссылка - никогда. Пример на картинке. 2. Переменная-указатель может иметь несколько уровней вложенности, то есть, например, бывают одиночные указатели, двойные указатели, тройные указатели. Ссылка же имеет только один единственный уровень вложенности. 3. Ссылочная переменная не может быть обновлена. ➡️ @cpp_geek

Алгоритм merge Объединяет две отсортированные последовательности, ограниченные диапазонами [first1,last1) и [first2,last2), в
Алгоритм merge Объединяет две отсортированные последовательности, ограниченные диапазонами [first1,last1) и [first2,last2), в единую отсортированную последовательность, начинающуюся с позиции result. Шаблон: merge (initer1 beg1, initer1 end1, initer2 beg2, initer2 end2, outiter res). ➡️ @cpp_geek

Алгоритм stable_partition Упорядочивает последовательность, определенную параметрами start и end, так, чтобы все элементы, дл
Алгоритм stable_partition Упорядочивает последовательность, определенную параметрами start и end, так, чтобы все элементы, для которых предикат возвращал true, предшествовали тем, для которых предикат возвращает false. Разметка стабильная. Это означает, что относительный порядок последовательности сохраняется. ➡️ @cpp_geek