MST

星途 面试题库

面试题:C++中局部变量与全局变量同名时的访问规则

在C++程序中,当局部变量与全局变量同名时,在局部作用域内如何访问全局变量?请给出代码示例说明。
43.5万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试

在C++中,当局部变量与全局变量同名时,在局部作用域内可以通过::作用域解析运算符来访问全局变量。示例代码如下:

#include <iostream>

// 全局变量
int num = 100; 

int main() {
    // 局部变量,与全局变量num同名
    int num = 20; 

    // 输出局部变量num
    std::cout << "局部变量 num: " << num << std::endl; 

    // 通过作用域解析运算符访问全局变量num
    std::cout << "全局变量 num: " << ::num << std::endl; 

    return 0;
}

上述代码中,定义了一个全局变量num,在main函数中又定义了一个同名的局部变量num。通过::num访问的是全局变量num,直接写num访问的是局部变量num