C++11 将右值引用定义为null 我是C++新手。我有一个问题,比如我们是否可以定义对null的右值引用 class Foo { }; Foo&& foo = nullptr;

C++11 将右值引用定义为null 我是C++新手。我有一个问题,比如我们是否可以定义对null的右值引用 class Foo { }; Foo&& foo = nullptr;,c++11,rvalue-reference,C++11,Rvalue Reference,我得到了一个错误: 对“Foo”类型的引用无法绑定到“nullptr\u t”类型的右值。 我有一个问题,比如我们是否可以定义对null的右值引用 class Foo { }; Foo&& foo = nullptr; 标准(工作草案)规定(重点): 引用应初始化为引用有效的对象或函数。[ 注意:特别是,在定义良好的程序中不能存在空引用,因为创建此类引用的唯一方法是将其绑定到通过空指针间接获得的“对象”,这会导致未定义的行为 它同时适用于左值和右值引用。有关更多详细信息,请参

我得到了一个错误: 对“Foo”类型的引用无法绑定到“nullptr\u t”类型的右值。

我有一个问题,比如我们是否可以定义对null的右值引用

class Foo { }; 
Foo&& foo = nullptr;
标准(工作草案)规定(重点):

引用应初始化为引用有效的对象或函数。[ 注意:特别是,在定义良好的程序中不能存在空引用,因为创建此类引用的唯一方法是将其绑定到通过空指针间接获得的“对象”,这会导致未定义的行为

它同时适用于左值和右值引用。有关更多详细信息,请参阅:

除非明确指出,否则它们在语义上是等价的,通常称为引用


引用是一种没有空值的类型。它适用于任何类型的引用-右值或左值。如果您想要有空值-请使用指针。真正的问题是“为什么”。