成员变量与就近原则

2023/07/23 C++ 共 456 字,约 2 分钟

全局变量

在函数外定义的变量,可为本源文件中其它函数所公用。

存储:静态区域,程序一启动就会分配存储空间,直到程序结束才会释放。

作用域:从定义变量的位置开始到本源文件结束。

成员变量

成员变量是存在类中声明的。 依类而生,离开类之后就不是成员变量。

作用域:类,成员变量只能通过对象访问。

存储 :堆 举例:i是成员变量

class A
{
    public:
        int i;
        void f();
}

void A::f()
{
    i = 1;
}

本地变量

写在函数或代码块中的变量, 我们称之为局部变量

作用域: 从定义的那一行开始, 一直到遇到大括号或者return

存储 : 栈 举例:local是局部变量

class A
{
    public:
        int i;
        void f();
}

void A::f()
{
    int local = 1;
}

就近原则

局部变量和类的成员变量重名的时候,根据“就近原则”,优先使用局部变量。 如果我需要区分同名的局部和成员,可以使用this指针.

class A
{
    public:
        int i;
        void f();
}

void A::f(int i)
{
    this->i = i;
}

原课程

浙江大学 C++ 成员变量

文档信息

Search

    Table of Contents