首先看一下返回值与返回引用之间的区别,函数返回值会创建一个临时变量作为函数返回值的副本,而返回引用则不会产生副本。
1)千万不要返回对局部变量的引用,因为函数结束可能会释放局部变量的空间,因此对局部对象的引用将会指向不确定的内存,同时,指针也是一样,不能指向局部临时对象,否则指针可能变成野指针。
参考文章:
首先看一下返回值与返回引用之间的区别,函数返回值会创建一个临时变量作为函数返回值的副本,而返回引用则不会产生副本。
1)千万不要返回对局部变量的引用,因为函数结束可能会释放局部变量的空间,因此对局部对象的引用将会指向不确定的内存,同时,指针也是一样,不能指向局部临时对象,否则指针可能变成野指针。
参考文章: