黑马C++教程笔记:常量、变量与引用解析
1星 37 浏览量
更新于2024-07-19
5
收藏 2MB DOCX 举报
"黑马C++学习笔记包含了C++的基础语法和一些重要概念,如输出、变量、作用域、条件运算符、常量、引用等。笔记中通过实例代码展示了这些概念的应用。"
在C++编程语言中,这些知识点至关重要:
1. **基本输出**:`#include<iostream>` 包含了输入输出流库,使得我们可以使用 `std::cout` 进行标准输出。在示例中,`cout<<"helloworld"<<endl;` 将字符串 "helloworld" 输出到控制台,并使用 `endl` 换行。
2. **变量的声明与作用域**:`int g_val;` 和 `int g_val=20;` 分别声明了一个全局变量。全局变量在整个程序中可见,而局部变量只在其定义的函数内有效。在C++中,未初始化的全局变量默认存储在BSS段,已初始化的全局变量存储在数据段。
3. **重定义检查**:C++不允许全局变量的重定义,因此 `int g_val=20;` 在全局作用域中是错误的,因为之前已经有一个未初始化的 `g_val`。
4. **循环中的变量**:在for循环中,`int i=0; for(int i=0;i<10;i++)` 展示了局部变量的声明,这个 `i` 只在循环体内有效,每次循环都会重新初始化。
5. **条件运算符**:`c=(a<b)?a:b;` 是三元运算符,根据条件 `a<b` 的真假,选择赋值 `a` 或 `b` 给 `c`。而在后面的 `(a<b)?a:b=50;` 中,条件运算符的结果被赋值,改变了 `a` 的值,而非 `c`。
6. **const常量**:`const int a=10;` 声明了一个常量 `a`,其值不能被修改。在 `test5` 函数中,试图通过指针 `p` 改变 `a` 的值,实际上并没有改变 `a`,因为 `const` 常量在内存中通常会被优化处理,无法通过指针修改。
7. **引用(Reference)**:引用是C++的一个重要特性,它类似于变量的别名。`int &ref = a;` 声明了一个引用 `ref`,绑定到变量 `a`。引用不分配额外内存,它们与被引用的变量共享同一存储空间。引用必须在声明时初始化,一旦绑定后不能更改。
8. **引用的使用**:引用可以用于函数参数,如 `void change_value(int &p)`,这样可以修改传入的变量值。引用也可以被再次引用,形成多个别名。`&` 符号在不同上下文中有不同含义,作为引用声明时代表引用,其他情况下表示取地址操作。
9. **函数调用**:在笔记中,`test5()` 被调用来展示引用的概念,`test4()` 虽然未定义,但可能是其他笔记中的内容。
这些知识点构成了C++编程的基础,通过学习和实践,可以深入理解C++语言的核心机制。
2020-05-15 上传
2011-09-11 上传
2023-08-12 上传
2023-08-04 上传
2023-09-06 上传
2023-09-14 上传
2023-09-15 上传
2024-08-27 上传
繁华落叶草
- 粉丝: 52
- 资源: 18
最新资源
- C语言快速排序算法的实现与应用
- KityFormula 编辑器压缩包功能解析
- 离线搭建Kubernetes 1.17.0集群教程与资源包分享
- Java毕业设计教学平台完整教程与源码
- 综合数据集汇总:浏览记录与市场研究分析
- STM32智能家居控制系统:创新设计与无线通讯
- 深入浅出C++20标准:四大新特性解析
- Real-ESRGAN: 开源项目提升图像超分辨率技术
- 植物大战僵尸杂交版v2.0.88:新元素新挑战
- 掌握数据分析核心模型,预测未来不是梦
- Android平台蓝牙HC-06/08模块数据交互技巧
- Python源码分享:计算100至200之间的所有素数
- 免费视频修复利器:Digital Video Repair
- Chrome浏览器新版本Adblock Plus插件发布
- GifSplitter:Linux下GIF转BMP的核心工具
- Vue.js开发教程:全面学习资源指南