[英]Can I assign a value to a non-const reference parameter?
在以下(遗留)代码块中,popped_value的赋值是有效还是应该有memcpy?
bool peek(value_type& popped_value)
{
bool retval=false;
RWLock::ScopedReadLock lock(queueLock);
if ( ! m_queue.empty())
{
popped_value=m_queue.front(); //question...
retval=true;
}
return retval;
}
我不想将参数更改为指针。
创建引用变量时,唯一可以设置引用变量引用的对象的位置:
Type & ref = value;
定义变量的语句, 在任何其他时间,当您为该引用赋值时,您不会更改引用变量引用的内容,例如reference_variable = value;
。 而是改变引用变量引用的事物的值。
这几乎肯定是引用的代码块中所需的行为。
那没关系,这就是我期望写的方式。
如果value_type
是自定义类,则将调用一些value_type operator=(...)
。 据推测,这种方法的实施是理智的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.