相关疑难解决方法(0)

C++返回对局部变量的引用

如果必须返回i,以下代码(func1())是否正确?我记得在某处读到返回对局部变量的引用时存在问题.它与func2()有什么不同?

int& func1()
{
    int i;
    i = 1;
    return i;
}

int* func2()
{
    int* p;
    p = new int;
    *p = 1;
    return p;
}
Run Code Online (Sandbox Code Playgroud)

c++

102
推荐指数
2
解决办法
10万
查看次数

返回局部变量C++的指针

我需要创建一个返回指向int的指针的函数.

像这样:

int * count()
{
    int myInt = 5;

    int * const p = &myInt;

    return p;
}
Run Code Online (Sandbox Code Playgroud)

由于指针只是一个地址,因此在调用此函数后,变量myInt将被销毁.如何在此方法中声明一个int,它将在内存中保留一个位置,以便我以后通过返回的指针访问它?我知道我可以在函数外部声明int,但是我想在函数内部声明它.

在此先感谢您的帮助!

c++ pointers function

5
推荐指数
3
解决办法
2万
查看次数

为什么使用const成员函数?

我正在努力理解课堂上的getter和setter功能......

我的问题是:如果我设计一个只从其类中获取状态的函数("getter"函数),为什么将其标记为"const成员函数"?我的意思是,如果我的函数被设计为不改变其类的任何属性,为什么使用const成员函数?我不明白请:(

例如:

int GetValue() {return a_private_variable;}
Run Code Online (Sandbox Code Playgroud)

int GetValue() const {return a_private_variable;}
Run Code Online (Sandbox Code Playgroud)

真正的区别是什么?

c++ const class function

5
推荐指数
2
解决办法
6689
查看次数

标签 统计

c++ ×3

function ×2

class ×1

const ×1

pointers ×1