C++学习:域解析与全局变量的使用

需积分: 48 1 下载量 183 浏览量 更新于2024-08-19 收藏 17.46MB PPT 举报
本文是关于C++学习的笔记,主要探讨了C++中的域解析以及如何扩大全局变量的可见范围。示例代码展示了如何在函数内部使用域解析运算符`::`来访问全局变量。 在C++编程中,域解析运算符`::`用于明确指定标识符(如变量或函数)的命名空间或作用域。在这个例子中,`::sum`被用来访问全局变量`sum`,而不是在`main`函数中定义的局部变量`sum`。这样,我们可以在函数内部修改或访问全局变量,即使有同名的局部变量存在。 代码示例: ```cpp int sum = 5050; // 全局变量 int main() { int arr[3], i; cout << "input 3 num:" << endl; for (i = 0; i < 3; i++) cin >> arr[i]; int sum = 0; // 局部变量 for (i = 0; i < 3; i++) sum += arr[i]; for (i = 0; i < 3; i++) cout << setw(4) << arr[i] << endl; cout << "局部sum=" << sum << endl; ::sum += sum; // 使用域解析运算符访问全局变量 cout << "全局sum=" << ::sum << endl; // 输出全局sum的值 system("pause"); return 0; } ``` 这段代码中,`::sum`在`main`函数内部被用于更新全局变量`sum`的值,而不是改变局部变量`sum`。这显示了如何在有冲突的命名情况下正确地访问和修改全局变量。 此外,文件还提到了C++的一些背景信息,包括C++的发展历程、其由C语言演化而来,支持数据抽象、面向对象程序设计和泛型程序设计。C++之父是比雅尼·斯特劳斯特鲁普,他在1979年开始开发C++,并最终在1998年形成了ANSI/ISO C++标准。 课程方面,该笔记可能来自一门面向对象程序设计的课程,这门课程是必修的,包含72个学时,涉及理论题和编程题的作业,并且作业需在特定时间内通过在线平台提交。 C++在行业中占有重要地位,尤其在嵌入式系统、游戏编程、网络编程和系统编程等领域广泛应用。TIOBE指数可以反映出C++在编程语言流行度中的位置。C++的发展历程分为三个阶段,从最初支持面向对象特性,到引入泛型编程(如STL和Boost),再到后来的产生式编程和模板元编程(如Loki和MPL)。