c++函数形参问题1
2011-10-08 15:54
148 查看
千万不要返回局部对象的引用
eg:
const string &ma(const string & a)
{
string ret=s;
return ret;
}
这个函数会在运行时出错,以为它返回了局部变量的引用,当函数执行完毕,字符串ret占用的存储空间将被释放,函数返回值指向了对于这个程序来说不再有效的内存空间。
同样,返回局部对象的指针也是错误的,一旦函数结束,局部对象被释放,返回的指针就变成了指向不再存在的对象的悬挂指针。
eg:
const string &ma(const string & a)
{
string ret=s;
return ret;
}
这个函数会在运行时出错,以为它返回了局部变量的引用,当函数执行完毕,字符串ret占用的存储空间将被释放,函数返回值指向了对于这个程序来说不再有效的内存空间。
同样,返回局部对象的指针也是错误的,一旦函数结束,局部对象被释放,返回的指针就变成了指向不再存在的对象的悬挂指针。
相关文章推荐
- C++中形参与const形参的函数重载问题。
- C/C++中二维数组作函数形参时,调用函数时,可传递的实参类型的小结
- C++带默认形参值的函数
- 也许是你一直没有弄懂的问题系列之<函数的形参和实参特点及区别>
- c++中如何解决函数调用二维数组的问题。
- C++中函数的数组形参
- 浅谈C++中内存分配、函数调用和返回值问题
- C++关于参数为const引用类型的函数调用参数成员函数的一个问题
- 在c++中回调c#函数遇到的字符串问题
- C/C++中函数返回局部变量的问题
- C++之内联函数inline、带默认形参值的函数
- eCos系统无法正确链接到在C++源文件里自己定义的cyg_user_start函数的问题和解决的方法
- C++容器类对象函数參数问题
- c++ 函数形参关于const和引用
- C++中将stack等容器类作为函数形参传递
- c/c++使用指针做函数返回值和指针作函数参数问题
- C++用指针变量作为函数的参数接受数组的值的问题的总结
- 函数中的形参问题(指针形参、引用形参、二重指针作为形参)
- C++中函数返回值的问题与产生随机数
- 摘:C++中构造函数和析构函数避免调用虚函数的问题