首页 > 编程语言 >C++语言的词汇

C++语言的词汇

时间:2024-09-24 22:19:21浏览次数:3  
标签:词汇 const 语言 C++ constexpr 用于 类型 常量

关键字

关键字:也称保留字,它是由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更加清晰和方便。

标签:词汇,const,语言,C++,constexpr,用于,类型,常量
From: https://blog.csdn.net/my_zengxin/article/details/142470758

相关文章

  • 【C++基础知识——迭代器 引入】
    问题引入#include<iostream>#include<map>#include<string>intmain(){//定义一个std::map容器std::map<std::string,int>ageMap;ageMap["Alice"]=30;ageMap["Bob"]=25;ageMap["Charlie&q......
  • 移动数组中数字的方法(c语言)
    1.移动一维数组中的内容;若数组中有n个整数,要求把下标从0到p(含p,p小于等于n-1)的数组元素平移到数组的最后。例如,一维数组中的原始内容为:1,2,3,4,5,6,7,8,9,10;p的值为3。移动后,一维数组中的内容应为:5,6,7,8,9,10,1,2,3,4。2.我们确定数组,然后输入交换的几次,意思就是先前移......
  • javascript是什么语言?它是干什么的?
    javascript简称“js”是浏览器端的脚本语言,是用来处理网页客户端与用户的交互的一种行为,以及实现页面特效。它是一种高级、直译式、解释型语言,是一种基本的原型、函数先行语言,它支持面向对象编程、命令式编程、以及函数式编程。 要知道javascript是干什么的,我们首先要......
  • 实验1 C语言输入输出和简单程序编写
    任务一#include<stdio.h>intmain(){printf("O\n");printf("<H>\n");printf("II\n");printf("O\n");printf("<H>\n");printf("II\n");return0;} #inclu......
  • C++基础
    1.第一个C++程序#include<iostream>//固定格式usingnamespacestd;intmain(){inta=10//定义变量;cout<<a<<endl;//打印变量system("pause");return0;}2.常量与变量的类型只要变量前加const与#define(宏常量)3.关键字3......
  • C++中的类型推断机制
    1.decltype的作用decltype是C++11引入的一个关键字,用来推断表达式的类型。它返回的是表达式的精确类型,包括引用和const限定符等。例子:intx=5;decltype(x)y=x;//y的类型是int在这个例子中,decltype(x)返回int,因为x是一个int类型的变量,所以y的类型也被推......
  • 【C++】类和对象——下
    一.类和对象(下)1.再探构造函数•之前我们实现构造函数时,初始化成员变量主要使⽤函数体内赋值,构造函数初始化还有⼀种⽅式,就是初始化列表,初始化列表的使⽤⽅式是以⼀个冒号开始,接着是⼀个以逗号分隔的数据成员列表,每个"成员变量"后⾯跟⼀个放在括号......
  • 《 C++ 修炼全景指南:十二 》用红黑树加速你的代码!C++ Set 和 Map 容器从入门到精通
    摘要本文详细介绍了基于红黑树实现的Set和Map容器,包括其底层设计原理、插入和删除操作的实现细节、性能分析与优化策略,以及实际应用场景和未来发展方向。通过采用红黑树的数据结构,Set和Map容器能够高效地处理有序数据,保持O(logn)的时间复杂度,适用于各种数据存储......
  • 【C语言】使用 OpenSSL 进行 AES CBC 加密与解密
    使用OpenSSL进行AESCBC加密与解密在这篇文章中,我们将使用OpenSSL库实现AESCBC模式的加密和解密功能。AES(高级加密标准)是一种对称加密算法,广泛应用于数据保护。本示例展示了如何使用PKCS#7填充标准来处理明文的长度,以及如何确保在加密和解密过程中正确管理密钥......
  • C++11新特性:正则表达式
    摘要本文介绍了正则表达式的基础概念,包括元字符、字符类、量词和锚点,展示了其在验证字符串、文本搜索、替换和数据提取中的应用。同时,详细讲解了C++11中正则表达式的使用示例,包括std::regex。正则表达式正则表达式(RegularExpressions)是一种强大的文本处理工具,它使用单个字符......