c++函数返回指针使用

#include 
using namespace std;
int* swep()//函数返回指针
{
    int p = 10;
    int* q = &p;//首先定义指针,并给其赋予地址
    cout << "*q = " << *q << endl;
    return q;//返回指针
}
int main()
{
    int *w = swep();//使用函数返回的指针时,要将w声明为指针
    cout << *w << endl;
    return 0;
}

同时也可以加上引用,可以将函数变为左值,即可以重新赋值

#include 
using namespace std;
int* &swep()
{
   static int p = 10;//不要返回局部变量的引用,局部变量放在栈区,用完自动释放,加上static,
   static int* q = &p;
    return q;
}
int main()
{
    int* &ref = swep();
    int w = 20;
    swep() = &w;//
    cout << *ref<< endl;//此时输出为20
    return 0;
}

你可能感兴趣的:(C++,c++,开发语言)