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 чисел каждая.
GTK+
Один из самых популярных графических фреймворков нарадяду с Qt, предназначен для создания виджетов, GUI и просто красивых графических оболочек программы, поддерживает Windows, macOS X, Linux и Unix-подобные системы.
Открыть фреймворк
Один из самых популярных графических фреймворков нарадяду с Qt, предназначен для создания виджетов, GUI и просто красивых графических оболочек программы, поддерживает Windows, macOS X, Linux и Unix-подобные системы.
Открыть фреймворк
Количество уникальных букв в строке
Здесь мы создаем строку str и множество letters, в которое будем добавлять все буквы из строки в нижнем регистре. Затем мы проходим по каждому символу c в строке, и если он является буквой, то добавляем его в множество letters. В конце выводим размер множества letters, который и представляет собой количество различных букв в строке.
Функция std::isalpha() из библиотеки используется для проверки того, является ли символ буквой. Мы также используем функцию std::tolower() из той же библиотеки, чтобы перевести буквы в нижний регистр, так как unordered_set считает A и a разными символами.
#код
Здесь мы создаем строку str и множество letters, в которое будем добавлять все буквы из строки в нижнем регистре. Затем мы проходим по каждому символу c в строке, и если он является буквой, то добавляем его в множество letters. В конце выводим размер множества letters, который и представляет собой количество различных букв в строке.
Функция std::isalpha() из библиотеки используется для проверки того, является ли символ буквой. Мы также используем функцию std::tolower() из той же библиотеки, чтобы перевести буквы в нижний регистр, так как unordered_set считает A и a разными символами.
#код
Взгляд внутрь memcmp на оборудовании Intel AVX2
memcmp — это функция стандартной библиотеки Cи, которая лексикографически сравнивает два массива. Она знакома программистам на Cи и часто используется в качестве строительного блока для строковых операций в других языках.
Читать статью
memcmp — это функция стандартной библиотеки Cи, которая лексикографически сравнивает два массива. Она знакома программистам на Cи и часто используется в качестве строительного блока для строковых операций в других языках.
Читать статью
PIMPL (Pointer to Implementation)
PIMPL — это паттерн программирования, который позволяет скрыть внутреннюю реализацию класса от клиента, а также упростить перекомпиляцию кода и улучшить производительность.
Суть PIMPL-паттерна заключается в том, что все данные хранятся в отдельном класс, а в основном хранится только указатель на этот вспомогательный класс, в котором осуществляется вся работа с данными.
В данном примере пользователь класса MyObject не видит внутреннюю реализацию объекта, что позволяет добавлять/удалять поля без необходимости изменять интерфейс класса. Работа с внутренними данными осуществляется через методы класса Impl, которые вызываются в функциях-членах класса MyObject.
#код
PIMPL — это паттерн программирования, который позволяет скрыть внутреннюю реализацию класса от клиента, а также упростить перекомпиляцию кода и улучшить производительность.
Суть PIMPL-паттерна заключается в том, что все данные хранятся в отдельном класс, а в основном хранится только указатель на этот вспомогательный класс, в котором осуществляется вся работа с данными.
В данном примере пользователь класса MyObject не видит внутреннюю реализацию объекта, что позволяет добавлять/удалять поля без необходимости изменять интерфейс класса. Работа с внутренними данными осуществляется через методы класса Impl, которые вызываются в функциях-членах класса MyObject.
#код