C++基础语法(C基础上的学习):关键字(持续更新)

关键字

1、typedef

typedef 是 C++ 中的一个关键字,用于为现有的数据类型创建一个新的名称(别名)。这可以提高代码的可读性和可维护性,特别是在处理复杂类型时。

cpp 复制代码
typedef 现有类型 新类型名称;

例如:

cpp 复制代码
typedef int Integer;

这样,Integer 就成为了 int 的一个别名。你可以像使用 int 一样使用 Integer:

cpp 复制代码
Integer a = 10;
cout << a << endl;  // 输出 10

2、enum

enum 是 C++ 中的一个关键字,用于定义枚举类型。枚举类型是一种用户定义的类型,它允许你定义一组命名的整数常量。枚举类型可以提高代码的可读性和可维护性,特别是在需要表示一组相关常量时。

cpp 复制代码
enum 枚举类型名称 {
    枚举常量1,
    枚举常量2,...
    枚举常量N
};
cpp 复制代码
enum Color {
    RED,
    GREEN,
    BLUE
};

在这个例子中,Color 是一个枚举类型,RED、GREEN 和 BLUE 是枚举常量。默认情况下,枚举常量的值从 0 开始,依次递增:

  • RED 的值是 0
  • GREEN 的值是 1
  • BLUE 的值是 2
cpp 复制代码
Color c = RED;
if (c == RED) {
    cout << "The color is red." << endl;}

你可以为枚举常量指定特定的值:

cpp 复制代码
enum Color {
    RED = 1,
    GREEN = 2,
    BLUE = 4};

枚举类型的作用域

在 C++11 之前,枚举常量的作用域是全局的,这意味着它们可以在定义它们的枚举类型的作用域之外使用。例如:

cpp 复制代码
enum Color {
    RED,
    GREEN,
    BLUE
};
Color c = RED;  // 正确
int red = RED;  // 正确,但可能会引起命名冲突

为了避免命名冲突,C++11 引入了强类型枚举(enum class):

cpp 复制代码
enum class Color {
    RED,
    GREEN,
    BLUE
};
Color c = Color::RED;  // 正确
int red = Color::RED;  // 错误,Color::RED 是强类型枚举常量

3、#define

在编程中,define通常用于宏定义,特别是在C和C++语言中。宏定义是一种预处理指令,用于在编译之前替换代码中的文本。以下是define的一些常见用法:

cpp 复制代码
#define 宏名 替换文本
cpp 复制代码
#define PI 3.14159

带参数的宏

cpp 复制代码
#define 宏名(参数列表) 替换文本
#define SQUARE(x) ((x) * (x))

在这个例子中,SQUARE(x)被定义为((x) * (x)),在编译之前,所有出现SQUARE(x)的地方都会被替换为((x) * (x))。
条件编译

cpp 复制代码
#define DEBUG
#ifdef DEBUG// 这部分代码在DEBUG被定义时会被编译
#endif

在这个例子中,如果DEBUG被定义了,那么#ifdef DEBUG和#endif之间的代码会被编译。
取消定义

可以使用#undef来取消定义一个宏:

cpp 复制代码
#define PI 3.14159
#undef PI

在这个例子中,PI被定义为3.14159,然后又被取消定义。

cpp 复制代码
#include <stdio.h>

#define PI 3.14159
#define SQUARE(x) ((x) * (x))
#define DEBUG

int main() {
    double radius = 5.0;
    double area = PI * SQUARE(radius);

    #ifdef DEBUG
        printf("Debug mode is on.\n");
    #endif

    printf("The area of the circle is: %f\n", area);

    return 0;
}

4.cout

cout:是C++标准库中的一个对象,属于iostream库。它使用流插入运算符<<,可以自动处理不同类型的数据,因此是类型安全的。例如:

cpp 复制代码
int num = 10;
double pi = 3.14;
std::cout << "Number: " << num << ", Pi: " << pi << std::endl;
相关推荐
zh路西法38 分钟前
【3D SLAM源码解读系列】(二)Small_gicp——5 个积木搭出最优点云配准
c++·pcl·icp·fastgicp·smallgicp·gicp
小僧景贤2 小时前
嵌入式C语言 第二篇:基础语法|嵌入式C与标准C的核心差异
c语言·开发语言·嵌入式c语言
fpcc2 小时前
ubuntu26环境下的开发环境安装处理
c++·并行编程
for_ever_love__2 小时前
python基础语法学习: 数据容器
windows·python·学习
云空3 小时前
《电子专业完整学习路线图(分两套:本科四年版 / 零基础自学速成版)》
科技·学习·学习方法·高考
min(a,b)3 小时前
学习第16天:LangGraph 与 Agent 工作流编排
学习
woshihuanglaoshi3 小时前
鸿蒙技术进阶全景高级成长体系:从初中级到架构师的技能树/学习路径/项目实战/认证体系系统性方法论
学习·华为·harmonyos
AI即插即用3 小时前
即插即用系列 | IEEE TMI PLG-HN:原型学习引导的 CNN-Transformer 混合网络,攻克乳腺肿瘤分割难题
人工智能·深度学习·神经网络·学习·目标检测·cnn·transformer
charlie1145141914 小时前
Cinux · 第一次跳进 Ring 3:用户态与特权隔离
开发语言·c++·操作系统·开源项目
别动我齐刘海4 小时前
机器学习基础2——C++、OpenCV、点云、Open3D
c++·人工智能·opencv·机器学习·计算机视觉·机器人·ros2