有一个函数可以对对象进行常量引用
void test(const CMyObject & obj);
并且有两个函数,一个返回一个已经存在的对象
const CMyObject & getExists();
第二个构造一个新对象
CMyObject createNew();
问题:有什么办法可以更改此代码?
if (objExists)
test(getExists());
else
test(createNew());
这样只有一个函数调用test()
,并且不复制对象的内容并且不创建空对象?
CMyObject obj; // создали пустой объект
if (objExists)
obj = getExists(); // скопировали содержимое
else
obj = createNew(); // создали еще один объект и скопировали содержимое
test(obj);
test()
我无法更改功能描述。
好吧,如果你不需要保存创建的对象,它纯粹是暂时的——对 来说
test()
,也许你可以