我是C++的新手,希望完成类似这样的工作,但它不像我期望的那样工作。C++在变量中保存对象的引用
Object& object = Object();
我想将引用保存在变量object
中创建的对象中。
我该怎么做?谢谢。
编辑: 我想将对象的引用传递给另一个对象的构造函数。它必须是引用(或指针?),因为它是一个没有太多内存的arduino代码。
我是C++的新手,希望完成类似这样的工作,但它不像我期望的那样工作。C++在变量中保存对象的引用
Object& object = Object();
我想将引用保存在变量object
中创建的对象中。
我该怎么做?谢谢。
编辑: 我想将对象的引用传递给另一个对象的构造函数。它必须是引用(或指针?),因为它是一个没有太多内存的arduino代码。
有两种合法途径通过参考变量存储:
// o1 is const
const Object& o1 = Object();
// o2 is mutable
Object&& o2 = Object();
有C++中的特殊规则,保持活着的对象,只要引用是在范围内。
你可能想要做的仅仅是存储对象是什么:
Object o = Object();
我可以将对象存储在一个变量中,并将其传递给我需要传递给它的每个构造方法:Object &o? – Jochim
@Jochim如果你传递它的构造函数采用'const Object&'或'Object&'参数,那么你可以简单地将'Object'实例传递给它。 – ArchbishopOfBanterbury
@Jochim当一个函数需要一个对象的(非const)引用时,这意味着它可能会修改它的值。但这并不意味着你不能将对象实例传递给对象和参数。 – Quest
你不能这样做,但也许如果你指定你真正需要的人也许能够提出其他建议。 – juanchopanza
你可以做'Object o;',然后'Object&o_ref = o;' – ArchbishopOfBanterbury
你需要'Object && object = Object();'如果有疑问,加倍标点符号.. –