百科问答小站 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/C++/Java,而不教更加强大的Rust/Go/Scala? 
  哪些语言特性,有助于开发大型系统? 
  C语言开发单片机为什么大多数都采用全局变量的形式? 
  C 与 C++ 谁的效率高,为什么? 
  有哪些c++的书推荐? 
  为什么我国的计算机科技领域发展了十几年水平依旧落后国外这么多? 
  编程语言为什么有变量类型这个概念? 
  将编程语言中的英文替换成中文并将其完善为一门国人普遍接受的编程语言,需要哪些条件? 

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





© 2024-11-24 - tinynew.org. All Rights Reserved.
© 2024-11-24 - tinynew.org. 保留所有权利