c++不要用&返回一个变量的地址

Posted 银色飞行船

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++不要用&返回一个变量的地址相关的知识,希望对你有一定的参考价值。

错误写法:

vector<T>* call()
{
    vector<T> t;
    ...
    return &t;
}
int main()
{
  vector<T>* t=call();
  ...
}

正确写法:

void call(vector<T>* t)
{
    (*t)...
    ...
}
int main()
{
  vector<T> t;
    call(&t);
  ...
}

 

以上是关于c++不要用&返回一个变量的地址的主要内容,如果未能解决你的问题,请参考以下文章

C++ 中返回 *ptr 和 &x 的区别

如何理解这段代码片段中的两对括号?

C++栈区和引用

C++ 函数返回引用

C++ 代码片段(积累)

C++ 中的普通常量变量