我觉得,至少在这一种情况下:用引用会很难受。
MyClass *mc; do { // 或者 switch,或者其他必须要加大括号的程序块内 // 。。。 if (aaa) mc = new MyClass(bbb); else mc = new MyClass(ccc); // 。。。 } while (ddd); // do while 循环可以替换成 switch 等其他控制结构。 do_something(mc); // 在结构之外需要用到该指针。
引用要求在声明的同时必须初始化并且之后不可修改,然而上述例子中,在结构体内初始化会使得该指针无法作用到大括号之外。
如果一个指针必须在结构体外定义,在结构体内初始化,并且在结构体结束之后使用。那么用引用实现同等功能会非常难受。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有