c++ - 简单的 C++ 地址/指针说明

标签 c++

第一个临时赋值 (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/

相关文章:

c++ - TSTP(礼貌停顿)如何与我在 Linux 中的 C++ 程序交互?

c++ - 如果在构造函数中引发异常会发生什么

c++ - 用 Qt 替换 HTML 文件中的特殊占位符

c++ - 在使用 eof() 的 while 循环中因一个错误而关闭

c++ - 如何利用周期性来降低信号的噪声?

c++ - 为什么我的析构函数被多次调用?

c++ - C++ 模板中的罗素悖论

c++ - 为什么只有在符合 "this"条件时,数据成员的模板函数才是从属名称?

c++ - 如何从文件中收集不同的变量类型 C++

c++ - 如何解决在 opencv 中显示空图像的问题?