帮助我理解这一点。这是上下文。
- 我正在用 C++ 编写程序。
- 我有 2 个缓冲区(双端队列)。我们称它们为 buffer1 和 buffer2;
- 我有 2 个线程:一个线程正在用随机值填充 buffer1。另一种是将最旧的buffer1值复制到buffer2;
- 我正在使用互斥锁。
我想将 buffer1 的第一个位置内的值复制到 buffer2 中,为了执行此操作,我编写了以下代码行:
线程 1
double a = 20.1;
buffer1.push_back(a);
线程 2
buffer2.push_back(buffer1.front());
我的问题是: 执行此操作,我是在复制值还是通过引用传递值? 我解释我的问题。我在运行程序时遇到随机内存问题。我想确定问题的根源是否在这里。
谢谢大家。