当前位置: 首页 > news >正文

c++关键字

## 1.c++关键字

#### 1. 数据类型关键字

这类关键字用于声明变量是什么类型的,就像说“这是一个装数字的盒子”还是“这是一个装文字的盒子”。

- `int`: 表示整数。例如:`int age = 25;`
- `double` / `float`: 表示小数(浮点数)。`double` 比 `float` 精度更高,更常用。
- 例如:`double price = 99.95;`
- `char`: 表示单个字符。例如:`char grade = 'A';` (注意是单引号)
- `bool`: 表示布尔值,只有两个可能:`true` (真) 或 `false` (假)。
- 例如:`bool isCppFun = true;`
- `void`: 表示“空”或“无类型”。主要用于函数,表示函数不返回任何值。
- 例如:`void sayHello() { std::cout << "Hello!"; }`

#### 2. 流程控制关键字

控制程序执行的流程,比如条件判断和循环。

**A. 条件判断 (做选择)**

- `if`: **如果**条件为真,则执行。
- `else`: **否则**,与 `if` 搭配使用。
- `switch`, `case`, `default`: 用于多分支选择,像一个多档位的开关。

**示例 (if-else):**

cpp

```
int score = 85;
if (score >= 90) {
std::cout << "优秀!";
} else if (score >= 60) {
std::cout << "及格!";
} else {
std::cout << "不及格!";
}
// 输出:及格!
```

**B. 循环 (重复做事情)**

- `for`: 知道循环次数时使用。
- `while`: 当条件为真时,一直循环。
- `do`: 和 `while` 连用,先执行一次,再判断条件。

**示例 (for 循环):**

cpp

```
// 打印数字 0 到 4
for (int i = 0; i < 5; i++) {
std::cout << i << " ";
}
```

#### 3. 函数相关关键字

- `return`: 用于函数中,结束函数并返回一个值。
- 例如:`int add(int a, int b) { return a + b; }`
- `void`: 上面提过,表示函数不返回值。

#### 4. 内存管理关键字 (非常重要!)

这是 C++ 的一个特点,它允许你直接管理内存。

- `new`: **申请**分配一块新的内存。
- `delete`: **释放**之前由 `new` 分配的内存,防止内存泄漏。

**示例:**

cpp

```
// 申请一个 int 类型的内存,并把值初始化为 10
int* ptr = new int(10);

std::cout << *ptr; // 输出 10

// 使用完后,必须释放!
delete ptr;
```

#### 5. 访问权限关键字 (面向对象编程基础)

当你开始学习“类”的时候,会用到它们来控制类成员的访问权限。

- `public`: 公共的,任何地方都可以访问。
- `private`: 私有的,只有类自己内部的函数可以访问。
- `protected`: 受保护的,介于两者之间,主要用于继承。

#### 6. 类与对象关键字

- `class`: 用于定义一个**类**(蓝图)。
- 例如:`class Dog { ... };`
- `this`: 指向当前对象自身的指针。

#### 7. 其他常用关键字

- `auto` (C++11 引入): 让编译器自动推断变量的类型,非常方便。
- 例如:`auto name = "Alice";` // 编译器会知道 name 是字符串类型
- `const`: 表示“常量”,定义一个值不能被修改的变量。
- 例如:`const double PI = 3.14159;` // 之后试图修改 PI 会报错

http://www.dtcms.com/a/361449.html

相关文章:

  • 首屏优化讲解
  • JavaEE 进阶第一期:开启前端入门之旅(上)
  • pip不是内部或外部命令的问题怎么解决?
  • 【数据库】Sql Server数据库中isnull、iif、case when三种方式的使用和空值判断
  • docker本地部署dify,nginx80端口占用的报错
  • Spring Ioc —— 集合类型的依赖注入
  • js语言编写科技风格博客网站-详细源码
  • LINUX驱动篇(二)驱动开发
  • 埃文科技荣获2025年“数据要素×”大赛河南分赛二等奖
  • FPGA时序约束(二)--做时序约束,本质上是在干嘛
  • 新闻资讯|基于微信小程序的经济新闻资讯系统设计与实现(源码+数据库+文档)
  • ARM-进阶汇编指令
  • 基于AI与物联网的中央空调节能调控系统
  • 原子操作(Atomic Operation) 是指不可被中断的操作——要么完整执行,要么完全不执行
  • Android修改进程优先级
  • 在IDEA里使用Google Java Format
  • UART控制器——ZYNQ学习笔记14
  • 解决Content Security Policy (CSP)问题
  • Sparse4Dv3 部署到 TensorRT-(1)
  • Gradle vs. Maven,Java 构建工具该用哪个?
  • Paimon MergeTreeWrite、Compaction 和 快照构建
  • 嵌入式解谜日志之Linux操作系统—进程间的通信(IPC):无名管道,有名管道,信号通信5
  • 单片机元件学习
  • 【stm32】定时器(超详细)
  • Git安装教程
  • 【51页PPT】智慧社区解决方案(附下载方式)
  • 审美积累 | 金融类 SaaS 产品落地页设计
  • Empire: LupinOne靶场渗透
  • 贪心算法解决固定长度区间覆盖问题:最少区间数计算
  • CICD实战(2) - 使用Arbess+GitLab+SonarQube实现Java项目快速扫描/构建/部署