Помогите мне понять это. Вот контекст.Что именно происходит, когда я делаю buffer1.push_back (buffer2.front()) в C++?
- Я пишу программу на C++.
- У меня есть 2 буфера (deque). Назовем их buffer1 и buffer2;
- У меня есть 2 потока: один поток заполняет buffer1 со случайными значениями. Другой - копирование самого старого значения buffer1 в buffer2;
- Я использую мьютексы.
Я хочу, чтобы скопировать значение в 1-й позиции buffer1 к Буфер2 и для того, чтобы выполнить, чтобы сделать это, я пишу следующую строку кода:
НИТИ 1
double a = 20.1;
buffer1.push_back(a);
НИТИ 2
buffer2.push_back(buffer1.front());
Мой вопрос: выполняет это, я совместно выбирая значение или передавая значение по ссылке? Я объясняю свой вопрос. При запуске программы у меня возникает проблема с произвольной памятью. Я хочу быть уверенным, что источник проблемы здесь.
спасибо, все.
Что находится внутри ваших контейнеров? В идеале вы бы предоставили [MCVE]. – 5gon12eder
Была ли документация для ['front'] (http://en.cppreference.com/w/cpp/container/deque/front) и [' push_back'] (http://en.cppreference.com/w/ cpp/container/deque/push_back) непонятно, что происходит? – NathanOliver
Вам нужны мьютексы – AndyG