Вопросы с собеседований по C++ и ответы на них.
Как запустить своего ии-агента: https://clc.to/tvpmDQ
По рекламе: @tproger_sales_bot
Учиться у нас: https://proglib.io/w/9ccf302b
Для обратной связи: @proglibrary_feeedback_bot
Post #1397
839
БИ @cpp_interview_lib
Showing posts older than #1398 · Back to latest


Forwarded from Библиотека задач по C++ | тесты, код, задания
1, сравниваем с 1 — не сходится. Призраки?struct Flags { int active : 1; };
int main() {
Flags f;
f.active = 1;
if (f.active == 1)
std::cout << "ok\n"; // не печатает!
}
#include <mutex>
#include <thread>
#include <vector>
#include <iostream>
std::mutex mtx;
std::vector<int> data;
void producer() {
for (int i = 0; i < 100; ++i) {
std::lock_guard<std::mutex> lock(mtx);
data.push_back(i);
}
}
void consumer() {
while (true) {
std::lock_guard<std::mutex> lock(mtx);
if (data.empty()) {
// Ждём данные...
std::this_thread::sleep_for(
std::chrono::milliseconds(10));
continue;
}
std::cout << data.back() << "\n";
data.pop_back();
}
}
consumer()? Почему lock_guard здесь — плохой выбор и как это исправить?