百科问答小站 logo
百科问答小站 font logo



C++编译器能不能弃用指针,只允许用引用? 第1页

  

user avatar   pansz 网友的相关建议: 
      

我觉得,至少在这一种情况下:用引用会很难受。

       MyClass *mc;  do { // 或者 switch,或者其他必须要加大括号的程序块内   // 。。。    if (aaa)     mc = new MyClass(bbb);   else     mc = new MyClass(ccc);   // 。。。  } while (ddd); // do while 循环可以替换成 switch 等其他控制结构。  do_something(mc); // 在结构之外需要用到该指针。      


引用要求在声明的同时必须初始化并且之后不可修改,然而上述例子中,在结构体内初始化会使得该指针无法作用到大括号之外。

如果一个指针必须在结构体外定义,在结构体内初始化,并且在结构体结束之后使用。那么用引用实现同等功能会非常难受。




  

相关话题

  初一就学会了五种编程语言算不算超越同龄人呢? 
  为什么很多新型编程语言都抛弃了 C 语言风格的 for 语句? 
  网传华为研发出属于我国的编程语言「仓颉」,这是真的吗?这意味着什么? 
  现在的编程语言越来越多,为什么 C 和 C++ 还没有被现在的时代淘汰呢? 
  使用基于LGPL授权QT的『歪歪yy语音』允许反编译吗? 
  如何看待方舟编译器于 4 月 9 日新增加的开源内容? 
  为什么一说到 C#,很多人都说跟微软绑太紧,说到 Objective-C,就没人说跟苹果绑太紧呢? 
  刚开始学习Objective-C,面对Swift该怎么办? 
  创造编程语言应该学习什么语言?设计编程语言最好是用C/C++吗? 
  libc 和 libstdc++ 一定是 backward compatible 的吗? 

前一个讨论
广东有领证几年后再办酒的习俗吗?
下一个讨论
如何看待《哪吒之魔童降世》票房超越《我不是药神》?





© 2025-04-16 - tinynew.org. All Rights Reserved.
© 2025-04-16 - tinynew.org. 保留所有权利