Можно ли в C++ умножать или делить целое значение на степени двойки, не используя операций "*" или "/"?
Это можно делать в любом языке, где есть побитовый сдвиг. Умножению значения x на 2, например, соответствует операция x > 2.
#вопросы_с_собеседований
Это можно делать в любом языке, где есть побитовый сдвиг. Умножению значения x на 2, например, соответствует операция x > 2.
#вопросы_с_собеседований
Что такое Name Mangling в C++?
Когда мы пишем программы на C++, мы постоянно создаем новые функции и методы с (надеюсь) описательными именами. Имена важны для нас, людей, для понимания кода. Но в скомпилированном машинном коде наших готовых исполняемых файлов они не играют никакой роли. Процессор даже не знает о них.
Читать статью
Когда мы пишем программы на C++, мы постоянно создаем новые функции и методы с (надеюсь) описательными именами. Имена важны для нас, людей, для понимания кода. Но в скомпилированном машинном коде наших готовых исполняемых файлов они не играют никакой роли. Процессор даже не знает о них.
Читать статью
Алгоритм stable_partition
Упорядочивает последовательность, определенную параметрами start и end, так, чтобы все элементы, для которых предикат возвращал true, предшествовали тем, для которых предикат возвращает false. Разметка стабильная. Это означает, что относительный порядок последовательности сохраняется.
Упорядочивает последовательность, определенную параметрами start и end, так, чтобы все элементы, для которых предикат возвращал true, предшествовали тем, для которых предикат возвращает false. Разметка стабильная. Это означает, что относительный порядок последовательности сохраняется.
👀 Руки прочь от кода: почему технический менеджер не должен ревьюить код
В этой статье мы подробно рассмотрим отличие технического менеджера от техлида. Также узнаем, почему при размере команды больше четырех технический менеджер должен сосредоточиться на своей основной роли — управлении коммуникациями внутри и вне команды.
🔗 Основной сайт
🔗 Зеркало
В этой статье мы подробно рассмотрим отличие технического менеджера от техлида. Также узнаем, почему при размере команды больше четырех технический менеджер должен сосредоточиться на своей основной роли — управлении коммуникациями внутри и вне команды.
🔗 Основной сайт
🔗 Зеркало
👨💻🗺️ Кому в IT жить хорошо: Indeed опубликовал список из 19 наиболее востребованных спецов за рубежом в 2023 году
Рассказываем, кем нужно быть и какой стек начать изучать, чтобы жить в Кремниевой долине и зарабатывать от $150 000.
🔗 Основной сайт
🔗 Зеркало
Рассказываем, кем нужно быть и какой стек начать изучать, чтобы жить в Кремниевой долине и зарабатывать от $150 000.
🔗 Основной сайт
🔗 Зеркало
xla
Компилятор машинного обучения для графических процессоров, процессоров и ускорителей машинного обучения.
Открыть компилятор
Компилятор машинного обучения для графических процессоров, процессоров и ускорителей машинного обучения.
Открыть компилятор
#вопросы_с_собеседований
Что выведет код?
программа завершится аварийно.
Что выведет код?
#include <iostream>Ответ:
class A {
public:
A() {}
~A() {
throw 42;
}
};
int main(int argc, const char * argv[]) {
try {
A a;
throw 32;
} catch(int a) {
std::cout << a;
}
}
Оптимальный выбор подмножества в C++ с помощью решателей ограничений OR-Tools
В этой статье представлена общая, но сложная проблема поиска оптимального подмножества из заданного набора элементов.
Читать статью
В этой статье представлена общая, но сложная проблема поиска оптимального подмножества из заданного набора элементов.
Читать статью
Метод wcscmp()
Функция wcscmp() определена в заголовочном файле cwchar.h . Функция wcscmp() используется для сравнения двух широких строк, заканчивающихся нулем, и это сравнение выполняется лексикографически.
Подробнее можно почитать здесь.
Функция wcscmp() определена в заголовочном файле cwchar.h . Функция wcscmp() используется для сравнения двух широких строк, заканчивающихся нулем, и это сравнение выполняется лексикографически.
Подробнее можно почитать здесь.
Что выведет код сверху?
Ответ:
Compile-time error
Объяснение: Поскольку конструктор Test() является приватным членом класса, то к нему нельзя получить доступ из внешнего мира, поэтому программа выдает ошибку.
#код
Ответ:
Compile-time error
Объяснение: Поскольку конструктор Test() является приватным членом класса, то к нему нельзя получить доступ из внешнего мира, поэтому программа выдает ошибку.
#код
✍️ «Библиотека программиста» находится в поиске переводчика технических статей
Обязанности
• Перевод технических статей, документации и руководств с английского на русский язык.
• Редактирование и корректура переведенных текстов для обеспечения высокого качества и своевременной доставки переводов.
Что значит редактирование? Просто так взять DeepL и слово в слово перевести статью не получится?
• Не получится. Как правило, 10–40% текста — «вода». Переводчик должен убрать все лишнее и оставить главное, чтобы читатель не тратил время на чтение «забавной истории из жизни моего питомца, который внес неоценимый вклад в написание данного материала».
Мы предлагаем
• Удаленку.
• Официальное трудоустройство.
• Своевременную оплату за выполненную работу.
➡️ Заполнить анкету ⬅️
Я хорошо программирую, но пишу «так себе». Что делать?
Если вы хорошо программируете, но навыки письма немного отстают, пройдите наш бесплатный курс на Степике «Статьи для IT: как объяснять и распространять значимые идеи».
Обязанности
• Перевод технических статей, документации и руководств с английского на русский язык.
• Редактирование и корректура переведенных текстов для обеспечения высокого качества и своевременной доставки переводов.
Что значит редактирование? Просто так взять DeepL и слово в слово перевести статью не получится?
• Не получится. Как правило, 10–40% текста — «вода». Переводчик должен убрать все лишнее и оставить главное, чтобы читатель не тратил время на чтение «забавной истории из жизни моего питомца, который внес неоценимый вклад в написание данного материала».
Мы предлагаем
• Удаленку.
• Официальное трудоустройство.
• Своевременную оплату за выполненную работу.
➡️ Заполнить анкету ⬅️
Я хорошо программирую, но пишу «так себе». Что делать?
Если вы хорошо программируете, но навыки письма немного отстают, пройдите наш бесплатный курс на Степике «Статьи для IT: как объяснять и распространять значимые идеи».
Программирование на С++ и URI в коде
Вы можете поместить URI в свой код на C++, и компилятор не выдаст ошибку. Любой идентификатор, за которым следует двоеточие, становится меткой goto в С++. Все, что следует за двойным слешем, воспринимается как комментарий. Именно поэтому в приведенном выше коде http – это метка, а //google.com/ – комментарий. Но компилятор может выдать предупреждение, так как заданная метка не используется.
#код
Вы можете поместить URI в свой код на C++, и компилятор не выдаст ошибку. Любой идентификатор, за которым следует двоеточие, становится меткой goto в С++. Все, что следует за двойным слешем, воспринимается как комментарий. Именно поэтому в приведенном выше коде http – это метка, а //google.com/ – комментарий. Но компилятор может выдать предупреждение, так как заданная метка не используется.
#код
Что делает алгоритм move_backward?
Перемещает элементы одного итератора в другой.
Перемещение начинается с последнего элементом в указанном диапазоне и завершается первым элементом в этом диапазоне.
#вопросы_с_собеседований
Перемещает элементы одного итератора в другой.
Перемещение начинается с последнего элементом в указанном диапазоне и завершается первым элементом в этом диапазоне.
#вопросы_с_собеседований
std::async
В C++ std::async — это шаблон функции, предоставляемый стандартной библиотекой. Он используется для асинхронного выполнения функции или вызываемого объекта и получения объекта future, представляющего результат вычислений.
Функция std::async создает новый поток или использует существующий поток из пула потоков реализации для выполнения поставленной задачи. Она возвращает объект std::future, который можно использовать для получения результата или статуса вычисления.
В этом примере функция AddNumbers выполняется асинхронно с использованием std::async. Она принимает два целых числа в качестве аргументов и возвращает их сумму. Функция std::async вызывается с помощью AddNumbers и аргументов 5 и 10.
Функция std::async возвращает объект std::future, который представляет собой результат вычисления. Вызывая функцию get() на объекте future, мы блокируем выполнение до завершения вычислений и получаем результат.
В C++ std::async — это шаблон функции, предоставляемый стандартной библиотекой. Он используется для асинхронного выполнения функции или вызываемого объекта и получения объекта future, представляющего результат вычислений.
Функция std::async создает новый поток или использует существующий поток из пула потоков реализации для выполнения поставленной задачи. Она возвращает объект std::future, который можно использовать для получения результата или статуса вычисления.
В этом примере функция AddNumbers выполняется асинхронно с использованием std::async. Она принимает два целых числа в качестве аргументов и возвращает их сумму. Функция std::async вызывается с помощью AddNumbers и аргументов 5 и 10.
Функция std::async возвращает объект std::future, который представляет собой результат вычисления. Вызывая функцию get() на объекте future, мы блокируем выполнение до завершения вычислений и получаем результат.
Какой формат обучающих материалов предпочитаете? Статьи, видео, гайды, задачи, или личное наставничество?
#интерактив
#интерактив
Есть ли преимущества одного фрагмента кода перед другим? Если да, то какие?
Хотя оба варианта выполняют одно и то же, второй вариант лучше с точки зрения производительности. Это связано с тем, что оператор постинкремента itr++ дороже, чем оператор предварительного инкремента ++itr. Базовая реализация оператора постинкремента создает копию элемента перед его увеличением, а затем возвращает копию.
Тем не менее, многие компиляторы автоматически оптимизируют первый вариант, преобразовывая его во второй.
#код
#Дайджест полезных материалов по С++. Сохраняй и делись с другом!
🤖 Что такое пир-ревью и зачем оно нужно вашей команде
🤖 Как создать свой мод для Cyberpunk 2077? Шерстим исходники, Lua, C++ и Python
🤖 Подводные камни С++. Решаем загадки неопределённого поведения, ч. 1
🤖 Типы, больше типов
🤖 Raylib: опыт использования абсолютным новичком и что из этого вышло
🤖 Интероперабельность между С++ и Rust
🤖 Что такое пир-ревью и зачем оно нужно вашей команде
🤖 Как создать свой мод для Cyberpunk 2077? Шерстим исходники, Lua, C++ и Python
🤖 Подводные камни С++. Решаем загадки неопределённого поведения, ч. 1
🤖 Типы, больше типов
🤖 Raylib: опыт использования абсолютным новичком и что из этого вышло
🤖 Интероперабельность между С++ и Rust
60 ужасных советов разработчику на C++
Объемнейший материал, сделанный в юмористическом стиле, подскажет вам, как писать код не нужно.
Читать статью
Объемнейший материал, сделанный в юмористическом стиле, подскажет вам, как писать код не нужно.
Читать статью
Монадическая композиция Expected в C++
Здесь речь пойдёт о трюке, который ещё больше имитирует код под исключения C++.
Смотреть статью
Здесь речь пойдёт о трюке, который ещё больше имитирует код под исключения C++.
Смотреть статью
Библиотечный метод
Продемонстрируйте работу метода сортировки вставками по возрастанию. Для этого выведите состояние данного массива после каждой вставки на отдельных строках. Если массив упорядочен изначально, не нужно ничего выводить.
Формат входных данных:
На первой строке дано целое число n (1 ≤ n ≤ 100) – количество элементов в массиве. На второй строке задан сам массив: последовательность натуральных чисел, не превышающих 10^9.
Формат выходных данных:
В выходной файл выведите строки (по количеству вставок) по n чисел каждая.
Продемонстрируйте работу метода сортировки вставками по возрастанию. Для этого выведите состояние данного массива после каждой вставки на отдельных строках. Если массив упорядочен изначально, не нужно ничего выводить.
Формат входных данных:
На первой строке дано целое число n (1 ≤ n ≤ 100) – количество элементов в массиве. На второй строке задан сам массив: последовательность натуральных чисел, не превышающих 10^9.
Формат выходных данных:
В выходной файл выведите строки (по количеству вставок) по n чисел каждая.