C++中,int &function() 和int *function()有什么区别啊?

这两者哪个用着比较好?
2025-05-07 06:43:31
推荐回答(1个)
回答1:

第一个的返回值是一个引用,如果返回的是产生的临时变量的引用,在函数调用中是很危险的。
(引用是不占用空间的——只是个别名)
如3楼所述“前者是引用返回,一般为了实现表达式连写”,一般出现在C++的重载运算符里面,返回的一般都this指针所指示的内容。

第二个的返回值是一个指针,比较灵活,指针是占用空间的。