第一个临时赋值 (1) 是否无用(好吧,除了声明类型之外)?我认为第二个任务只是将 temp 的指针改写为 key_record
。
void store_key( const key_data& key )
{
owallet_key_record key_record = ...
key_data& temp = *key_record; // 1
temp = key;
}
编辑:引用,https://github.com/BitShares/bitshares/blob/v0.4.28-dev1/libraries/wallet/wallet_db.cpp#L555-L556
注意,temp
不再使用。此外,此技术在文件中以相同的模式多次使用,因此一定是有意为之。
最佳答案
您的想法是正确的,但我不会将引用声明描述为“无用”。
根据 store_key() 方法中发生的其他事情,这种引用声明通常用于清晰度,并且可能使引用对象的频繁使用更加清晰和可读。
而且,即使没有,您也应该将代码优化留给编译器。如果临时引用导致更清晰、更容易理解的代码,这本身就足够了。让编译器担心优化掉不需要的临时文件。
关于c++ - 简单的 C++ 地址/指针说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27831171/