⚙️ std::filesystem::create_directory
Метод std::filesystem::create_directory из заголовка используется для создания новой директории. Это полезно для программ, которые работают с файловыми структурами и должны создавать папки динамически.
👩💻
@quizcpp
Метод std::filesystem::create_directory из заголовка используется для создания новой директории. Это полезно для программ, которые работают с файловыми структурами и должны создавать папки динамически.
👩💻
@quizcpp
🤔 Как это работает? — Передача аргументов в C++
В C++ аргументы функции можно передавать по значению, по ссылке и по константной ссылке. Эти подходы влияют на производительность и безопасность. Давайте разберём, как это работает.
➡️ Как это работает:
• Передача по значению: создаёт копию объекта, что может быть дорого для больших объектов.
• Передача по ссылке: передаёт ссылку на объект, избегая копирования.
• Передача по константной ссылке: добавляет защиту от изменения объекта внутри функции.
Развернутый аналог:
void modifyValue(const int &value) {
// value нельзя изменить
}
👩💻
@quizcpp
В C++ аргументы функции можно передавать по значению, по ссылке и по константной ссылке. Эти подходы влияют на производительность и безопасность. Давайте разберём, как это работает.
➡️ Как это работает:
• Передача по значению: создаёт копию объекта, что может быть дорого для больших объектов.
• Передача по ссылке: передаёт ссылку на объект, избегая копирования.
• Передача по константной ссылке: добавляет защиту от изменения объекта внутри функции.
Развернутый аналог:
void modifyValue(const int &value) {
// value нельзя изменить
}
👩💻
@quizcpp
🔥1
⚙️ std::ofstream
std::ofstream из заголовка используется для записи данных в файл. Это удобный инструмент для работы с файлами, позволяющий записывать текстовую или бинарную информацию.
👩💻
@quizcpp
std::ofstream из заголовка используется для записи данных в файл. Это удобный инструмент для работы с файлами, позволяющий записывать текстовую или бинарную информацию.
👩💻
@quizcpp
⚙️ std::byte
std::byte из заголовка предоставляет тип для работы с данными на уровне байтов. Это полезно для низкоуровневой работы с памятью и сетевыми протоколами.
👩💻
@quizcpp
std::byte из заголовка предоставляет тип для работы с данными на уровне байтов. Это полезно для низкоуровневой работы с памятью и сетевыми протоколами.
👩💻
@quizcpp
❓ Вопрос на собеседовании
Как работает std::atomic в C++, и в чём его преимущество перед обычными переменными в многопоточном программировании?
Ответ ⬇️
std::atomic — это шаблонный класс из библиотеки , который предоставляет атомарные операции с переменными, гарантируя их безопасность в многопоточной среде. Используя атомарные операции, вы избегаете гонок данных без необходимости явно использовать мьютексы.
Пример использования ⚙️
#include
#include
#include
std::atomic counter(0);
void increment() {
for (int i = 0; i < 1000; ++i) {
counter.fetch_add(1);
}
}
int main() {
std::thread t1(increment);
std::thread t2(increment);
t1.join();
t2.join();
std::cout
@quizcpp
Как работает std::atomic в C++, и в чём его преимущество перед обычными переменными в многопоточном программировании?
Ответ ⬇️
std::atomic — это шаблонный класс из библиотеки , который предоставляет атомарные операции с переменными, гарантируя их безопасность в многопоточной среде. Используя атомарные операции, вы избегаете гонок данных без необходимости явно использовать мьютексы.
Пример использования ⚙️
#include
#include
#include
std::atomic counter(0);
void increment() {
for (int i = 0; i < 1000; ++i) {
counter.fetch_add(1);
}
}
int main() {
std::thread t1(increment);
std::thread t2(increment);
t1.join();
t2.join();
std::cout
@quizcpp
❓ Вопрос на собеседовании
Как работает std::atomic в C++, и в чём его преимущество перед обычными переменными в многопоточном программировании?
Ответ ⬇️
std::atomic — это шаблонный класс из библиотеки , который предоставляет атомарные операции с переменными, гарантируя их безопасность в многопоточной среде. Используя атомарные операции, вы избегаете гонок данных без необходимости явно использовать мьютексы.
Пример использования ⚙️
#include
#include
#include
std::atomic counter(0);
void increment() {
for (int i = 0; i < 1000; ++i) {
counter.fetch_add(1);
}
}
int main() {
std::thread t1(increment);
std::thread t2(increment);
t1.join();
t2.join();
std::cout
@quizcpp
Как работает std::atomic в C++, и в чём его преимущество перед обычными переменными в многопоточном программировании?
Ответ ⬇️
std::atomic — это шаблонный класс из библиотеки , который предоставляет атомарные операции с переменными, гарантируя их безопасность в многопоточной среде. Используя атомарные операции, вы избегаете гонок данных без необходимости явно использовать мьютексы.
Пример использования ⚙️
#include
#include
#include
std::atomic counter(0);
void increment() {
for (int i = 0; i < 1000; ++i) {
counter.fetch_add(1);
}
}
int main() {
std::thread t1(increment);
std::thread t2(increment);
t1.join();
t2.join();
std::cout
@quizcpp