public:
ReloadLog reload();
const ReloadLog &rlog = reload();
我也觉得这种用法是一种非常规用法
从逻辑上c++是不设计这种语义的支持的
严格上来说是有歧义的
虽然可能编译器能通过,并不推荐这种用法
这种声明正常应该使用的模式应该还是这样
ReloadLog rlog = reload();
【 在 poggy 的大作中提到: 】
: 我也觉得, 无论返回的是临时变量还是临时返回值, 返回临时变量的引用都不是一个正确的方式,
: 虽然, 也未必会野指针。
: 除非你显示的提供移动拷贝构造函数。 然后使用std::move。
: ...................
--
FROM 111.194.202.*