Learning Path
浏览 C++ 相关教程与章节。
主流编程语言、数据结构、设计模式、正则与基础算法。
教程
213
C++ <array> front 函数 C++ 容器类 <array> 在 array 的各种操作中,front 是一个非常简单的函数,用于获取第一个元素。 front 是容器类的成员函数,用于返回容器的第一个元素。它相当于 at(0) 或 operator[](0),但语义更清晰。 front 提供了直观的方式来访问容器的首元素。 单词释义: front 表示'..
C++ <array> operator[] 运算符 C++ 容器类 <array> 在访问 array 元素的所有方式中,operator[] 是最常用、最直接的一种,就像访问普通数组一样。 operator[] 是容器类的下标运算符,用于返回指定位置的元素,但不进行边界检查。它的用法与普通 C 数组完全一致。 operator[] 提供了数组式的随机访问能力,让你能够..
C++ <array> size 函数 C++ 容器类 <array> size 是 array 中最常用、最基础的函数之一,用于获取容器中元素的数量。 size 是容器类的成员函数,用于返回容器当前包含的元素个数。与 vector 不同,array 的大小是固定的,在编译时确定。 size 是操作 array 时最频繁使用的函数,用于循环遍历、边界检查等场景。 单词释义..
C++ <array> begin / end 函数 C++ 容器类 <array> begin 和 end 是 array 中最重要的迭代器函数,用于获取容器的起始和结束迭代器。 begin 和 end 是容器类的成员函数: begin 返回指向容器第一个元素的迭代器 end 返回指向容器最后一个元素之后位置的迭代器(哨兵迭代器) 这两个函数是 C++ 标准库算法和..
C++ <array> swap 函数 C++ 容器类 <array> swap 是 array 中用于交换两个数组内容的函数,是非常有用的工具。 swap 是容器类的成员函数,用于交换两个 array 的内容。两个 array 必须是相同类型和相同大小。 swap 提供了高效交换两个容器内容的方式,是算法和数据结构实现中的常用工具。 单词释义: swap 表示'..
C++ 容器类 <array> C++11 标准引入了 <array> 头文件,它提供了一种固定大小的数组容器,与 C 语言中的数组相比,具有更好的类型安全和内存管理特性。 std::array 是 C++ 标准库中的一个模板类,它定义在 <array> 头文件中。std::array 模板类提供了一个固定大小的数组,其大小在编译时确定,并且不允许动..
C++ 标准库 <atomic> 在多线程编程中,数据的同步和线程安全是一个重要的问题。C++11 标准引入了 <atomic> 库,它提供了一组原子操作,用于保证在多线程环境下对单个数据的访问是原子的,即不可分割的。这可以避免数据竞争和保证线程安全。 原子操作是指在执行过程中不会被其他线程中断的操作。<atomic>库中的原子类型提供了这样的操作,..
C++ 标准库 <bitset> 在 C++ 编程中,<bitset> 是标准库的一部分,它提供了一种方式来操作固定大小的位集合。 位集合是一个由位(bit)组成的数组,每个位可以是 0 或 1。 <bitset> 提供了一种高效的方式来存储和操作二进制数据,特别适合需要位级操作的场景,如标志位管理、位掩码操作等。 bitset 是一个模板类,其模板..
C++ 标准库中的 <cassert> <cassert> 是 C++ 标准库中的一个头文件,它提供了断言功能,用于在程序运行时检查条件是否为真。如果条件为假,程序将终止执行,并输出一条错误信息。断言主要用于调试阶段,以确保程序的逻辑正确性。 断言是一种调试工具,用于在开发过程中检查程序的运行状态。如果断言失败,程序将立即终止,这有助于开发者快速定位问题。 语法 cassert..
C++ 标准库中的 <cfloat> 模块 <cfloat> 是 C++ 标准库中的一个头文件,用于定义浮点数相关的宏和常量。这些宏和常量提供了关于浮点数表示的精度、范围等信息,主要来自 C 标准库的 <float.h> 头文件。 浮点数基础 在 C++ 中,浮点数是一种数据类型,用于表示小数。C++ 提供了两种基本的浮点数类型: float:单精度..
C++ 标准库 <chrono> C++11 引入了 <chrono> 库,这是一个用于处理时间和日期的库。它提供了一套丰富的工具来测量时间间隔、执行时间点的计算以及处理日期和时间。<chrono> 库是 C++ 标准库中处理时间相关操作的核心部分。 基本概念 时间点(Time Points) 时间点表示一个特定的时间点,通常与某个特定的时钟相关联。 ..
C++ 标准库 <climits> <climits> 是 C++ 标准库中的一个头文件,提供了与整数类型相关的限制和特性。它定义了一组常量,描述了各种整数类型(如 char、int、long 等)的最小值、最大值和其他相关属性。这些常量来自 C 标准库的 <limits.h> 头文件。 <climits> 提供的..
C++ 标准库 <cmath> C++ 标准库提供了丰富的功能,其中 <cmath> 是一个包含数学函数的头文件,它提供了许多基本的数学运算和常数。 <cmath> 是 C++ 标准库中的一个头文件,它定义了一组数学函数,这些函数可以执行基本的数学运算,如幂运算、三角函数、对数、绝对值等。 要使用 <cmath> 中的函..
C++ 标准库 <codecvt> <codecvt> 是 C++ 标准库中的一个头文件,提供了字符转换的工具。这个头文件主要包含 std::codecvt 类模板及其特化,支持字符编码之间的转换,例如从 UTF-8 到 UTF-16,或从宽字符(wchar_t)到窄字符(char)等。std::codecvt 类通常与 std::wstring_convert 类一起使用,以实现..
C++ 标准库 <complex> 在数学和工程计算中,我们常常需要处理 复数(complex number),比如信号处理、傅里叶变换、电路分析等。 C++ 标准库提供了 <complex> 头文件,让你可以像处理普通数字一样轻松操作复数。 一个复数由实部(real part)和虚部(imaginary part)构成,形式: z = a + bi 复数是实数和虚数的组合,通..
C++ 标准库 <condition_variable> 在多线程编程中,线程间的同步是一个非常重要的问题。C++11 标准引入了 <condition_variable> 头文件,它提供了一种机制,允许线程在某些条件不满足时挂起,直到其他线程通知它们条件已经满足。condition_variable是用于线程间同步的一种高级工具,它比使用低级同步原语(如互斥锁和条件变量)更加安..
C++ 标准库 <cstdint> <cstdint> 是 C++11 引入的一个头文件,它定义了一组固定宽度的整数类型,这些类型在不同的平台上具有相同的大小和表示范围。 为什么使用 <cstdint> 在 C++ 中,标准整数类型(如 int、long 等)的大小和表示范围依赖于编译器和平台。这可能导致在不同平台上编译的程序行为不一致。使用 &..
C++ 标准库 <cstdio> <cstdio> 是 C++ 标准库中的一个头文件,它包含了 C 语言标准 I/O 库的 C++ 封装,主要用于文件的输入和输出操作。 <cstdio> 库定义了一组用于执行输入和输出操作的函数,这些函数可以用于读写文件和控制台。 语法 在使用 <cstdio> 库中的函数之前,需要在 ..
C++ 标准库 <cstdlib> <cstdlib> 是 C++ 标准库中的一个头文件,提供了各种通用工具函数,包括内存分配、进程控制、环境查询、排序和搜索、数学转换、伪随机数生成等。这些函数最初来自 C 标准库 <stdlib.h>,在 C++ 中进行了标准化和扩展。 语法 在 C++ 程序中,要使用 cstdlib 中的函数,需要先包含这个头文件..
C++ 标准库 <ctime> C++ 标准库提供了丰富的功能,其中 <ctime> 是处理时间和日期的标准库之一。它提供了一组函数,用于获取当前时间、日期以及执行时间相关的计算。 <ctime> 库定义了一组与时间相关的函数和类型,这些函数和类型允许程序员在程序中处理时间。它包括: time_t:表示时间的类型,通常是一个长整型。 tm:一个结构..
C++ 标准库 <cwchar> <cwchar> 是 C++ 标准库中的一个头文件,提供了处理宽字符(wchar_t)和宽字符串的函数。这些函数大部分来自 C 标准库的 <wchar.h>,用于处理宽字符的输入输出、内存操作、字符串操作和其他与宽字符相关的功能。 语法 cwchar 头文件中定义的函数通常具有与标准字符处理函数相似的名称,但以 w 开头..
C++ 标准库 <deque> 在 C++中,<deque> 是标准模板库(STL)的一部分,它提供了双端队列(double-ended queue)的实现。双端队列是一种允许在两端进行插入和删除操作的线性数据结构。<deque> 的全称是 'double-ended queue',它在C++中以模板类的形式存在,允许存储任意类型的..
C++ 标准库 <exception> 在 C++ 编程中,异常处理是一种重要的错误处理机制,它允许程序在遇到错误时,能够优雅地处理这些错误,而不是让程序崩溃。 在 C++ 中,异常处理通常使用 try、catch 和 throw 关键字来实现。标准库中提供了 std::exception 类及其派生类来处理异常。 C++ 标准库中的 <exception> 头文件提供了一套异常..
C++ 容器 <forward_list> C++ 标准库中的 <forward_list> 是一种容器,它提供了一种单向链表的数据结构。 与双向链表(std::list)不同,std::forward_list 只支持单向遍历。它适用于需要频繁进行前向遍历和插入、删除操作的场景。以下是对 std::forward_list 的详细说明: 单向链表: ..