返回局部变量,其实是拷贝的副本,所以没问题。
返回“局部变量”的指针或引用,指针指向的内容会随函数失效,所以不妥。
返回“指针”是没有问题的,指针的内容是存放在堆内存中的;
返回局部数组,经测试返回数组也是没有问题的。
数组和指针的联系:
数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。
指针可以随时指向任意类型的内存块,它的特征是“可变”,所以我们常用指针来操作动态内存。指针远比数组灵活,但也更危险。
两者不完全等价,但有很密切的关系,有时数组可以通过指针来进行运算,数组也和指针一样可以通过delete[]来进行主动销毁;
empty