C++语言的词汇

关键字

关键字:也称保留字,它是由C++语言本身预先定义好的一类单词

  • 基本数据类型和布尔类型
    int、float、double、char、bool:用于声明整型、浮点型、字符型和布尔型变量。
    true、false:布尔类型的两个字面量值。
  • 复杂数据类型与类
    class:用于声明类,是C++面向对象编程的基础。
    struct:类似于class,但默认为public访问级别。
    union:一种特殊的类,允许在相同的内存位置存储不同的数据类型。
    enum:枚举类型,用于定义变量的集合,使变量成为预定义标识符中的一个。
    new、delete:用于动态分配和释放内存。
    this:指向当前对象的指针,常用于成员函数内部。
  • 函数与控制流
    return:用于从函数中返回值。
    if、else、switch、case、default:用于条件判断和分支控制。
    for、while、do-while:用于循环控制。
    break、continue、goto:用于改变控制流。
  • 模板与泛型编程
    template:用于声明模板类或模板函数,支持泛型编程。
    typename:在模板编程中,作为类型前的关键字,用于指示一个依赖的类型名。
  • 命名空间与模块
    namespace:用于声明命名空间,避免命名冲突。
    using:用于引入命名空间中的成员,简化代码。
  • 继承与多态
    public、protected、private:访问控制关键字,用于控制成员和继承的访问级别。
    virtual:用于声明虚函数,支持多态性。
    override、final:C++11新增,分别用于显式指定函数重写和禁止类被继承。
  • 异常处理
    try、catch、throw:用于异常处理,try块中可能抛出异常的代码,catch块用于捕获并处理异常,throw用于抛出异常。
    noexcept:C++11新增,用于指定函数是否抛出异常,优化异常处理性能。
  • 其他关键字
    static:用于声明静态变量或静态成员函数。
    const:用于声明常量,表示值不可变。
    volatile:表示变量的值可能会在程序外部被改变。
    extern:用于声明在其他文件中定义的变量或函数。
    sizeof:计算类型或变量在内存中的大小。
    typeid、dynamic_cast、static_cast、const_cast、reinterpret_cast:用于类型识别和类型转换。
    constexpr:C++11新增,用于声明编译时常量表达式。
    nullptr:C++11新增,用于表示空指针常量,比NULL更安全。
    alignas、alignof:C++11新增,用于指定对齐要求和获取类型或变量的对齐要求。
    decltype:C++11新增,用于在编译时推断表达式的类型。
    thread_local:C++11新增,用于声明线程局部变量。
标识符

是用户为程序中各种需要命名的“元素”所起的名字。这些元素包括:变量、符号、常量、函数、函数的参数、结构、类、对象等。

标识符的命名规则:

  • 标识符以一个字母或下划线开头的,由字母、数字、下划线组成的字符串
  • 不能与任意一个关键字同名
  • 标识符中的字母区分大小写
  • 标识符不宜过长,虽然C++语言不限制标识符的长度,但多数编译器只识别前32个字符(或更少)
常量

常量是值在程序执行期间不能被修改的数据。它们可以是整数、浮点数、字符、字符串等任何基本数据类型,或者是用户定义的类型(如结构体、类等)。使用常量可以使程序更加健壮,因为可以防止在不应该修改数据的情况下意外地修改数据。

定义常量的几种方式:

  • 使用#define预处理器
    define是C++(以及C)中定义常量的传统方式,但它实际上是在预处理阶段进行的文本替换,并不具有类型安全。
#define PI 3.14159
  • 使用const关键字
    const关键字用于声明常量,它可以提供类型检查,是C++中定义常量的首选方式。
const double pi = 3.14159;

const常量可以在声明时初始化,之后其值就不能被修改了。

  • 使用constexpr关键字(C++11及以后)
    constexpr关键字用于声明编译时常量表达式,即在编译时就能计算出其值的常量表达式。使用constexpr定义的常量可以用在需要常量的任何编译时上下文中,包括数组大小、模板参数等。
constexpr double Pi = 3.14159;

与const相比,constexpr变量必须是一个常量表达式,即它的值必须在编译时就能确定。

  • 枚举类型(Enum)
    枚举类型也可以用于定义常量,但它主要用于定义一组命名的整型常量。
enum Color {RED, GREEN, BLUE};

默认情况下,枚举成员的值从0开始递增,但也可以显式指定它们的值。

注意事项:

  • const和constexpr变量必须在声明时初始化。
  • constexpr变量必须是编译时常量表达式,而const变量可以是运行时常量(即其值在编译时未知,但在运行时不会改变)。
  • 使用#define定义的常量没有类型,而const和constexpr定义的常量具有明确的类型,这有助于提供类型安全检查。
  • 枚举类型是一种特殊的类型,用于定义一组命名的整型常量,它在某些情况下比#define或const更加清晰和方便。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值