Learning Path
浏览 C++ 相关教程与章节。
主流编程语言、数据结构、设计模式、正则与基础算法。
教程
213
C++ <vector> begin / end 函数 C++ 容器类 <vector> begin 和 end 是 vector 中最重要的迭代器函数,用于获取容器的起始和结束迭代器。 begin 和 end 是容器类的成员函数: begin 返回指向容器第一个元素的迭代器 end 返回指向容器最后一个元素之后位置的迭代器(哨兵迭代器) 这两个函数是 C++ 标准库算..
C++ <vector> capacity 函数 C++ 容器类 <vector> capacity 是 vector 中用于查询容量的函数,它返回容器当前分配的存储空间大小。 capacity 是容器类的成员函数,用于返回容器当前分配的存储空间能够容纳的元素数量。这个值通常大于或等于 size()。 capacity 反映了 vector 内部预分配的内存空间,理解它有助..
C++ <vector> clear 函数 C++ 容器类 <vector> clear 是 vector 中用于清空所有元素的函数,是最简单、最高效的清空容器方法。 clear 是容器类的成员函数,用于删除容器中的所有元素,使容器变为空。调用后,容器的 size() 将变为 0。 clear 是重置容器的标准方法,常用于需要重新开始或释放内存的场景。 单词释义: clea..
C++ <vector> data 函数 C++ 容器类 <vector> data 是 vector 中一个非常特殊的函数,它返回指向底层数组的指针,让你能够像使用 C 数组一样使用 vector。 data 是容器类的成员函数,用于返回指向容器内部数据存储的指针。这使得 vector 可以与 C 风格 API 或其他需要原始指针的代码互操作。 data 提供了 vect..
C++ <vector> erase 函数 C++ 容器类 <vector> erase 是 vector 中用于删除指定位置元素的函数,是容器中最灵活的删除方式。 erase 是容器类的成员函数,用于删除容器中指定位置的一个或多个元素。它接受迭代器参数。 erase 提供了删除任意位置元素的能力,虽然在 vector 中效率不如 pop_back(需要移动后续元素),但功..
C++ <vector> front 函数 C++ 容器类 <vector> 在 vector 的各种操作中,front 是一个非常简单的函数,用于获取第一个元素。 front 是容器类的成员函数,用于返回容器的第一个元素。它相当于 at(0) 或 operator[](0),但语义更清晰。 front 提供了直观的方式来访问容器的首元素。 单词释义: front 表示&#..
C++ <vector> insert 函数 C++ 容器类 <vector> insert 是 vector 中用于在指定位置插入元素的函数,是容器中最灵活的插入方式。 insert 是容器类的成员函数,用于在容器的指定位置插入一个或多个元素。它接受一个迭代器位置和要插入的元素。 insert 提供了在任意位置插入元素的能力,虽然在 vector 中效率不如 push_b..
C++ <vector> operator[] 运算符 C++ 容器类 <vector> 在访问 vector 元素的所有方式中,operator[] 是最常用、最直接的一种,就像访问数组元素一样。 operator[] 是容器类的下标运算符,用于返回指定位置的元素,但不进行边界检查。它的用法与普通数组完全一致。 operator[] 提供了数组式的随机访问能力,让你能够快..
C++ <vector> pop_back 函数 C++ 容器类 <vector> 在众多容器操作中,pop_back 是一个非常实用的函数,用于删除 vector 末尾的元素。 pop_back 是容器类的成员函数,用于删除容器最后一个元素,容器的 size() 会减少 1。 pop_back实现了容器的动态缩减,让你可以随时移除不再需要的末尾元素。 单词释义: pop..
C++ <vector> push_back 函数 C++ 容器类 <vector> 在众多容器中,vector (向量) 是最常用、最像能自动变长的数组的一个,而 push_back 就是让这个数组变长的关键函数。 push_back 是一个成员函数,用于在动态数组 (vector) 或其他序列容器(如 list, deque) 的末尾添加一个新元素。 push_bac..
C++ <vector> reserve 函数 C++ 容器类 <vector> reserve 是 vector 中用于预分配内存的重要函数,可以显著提升添加元素的性能。 reserve 是容器类的成员函数,用于预留至少 n 个元素的存储空间。这不会改变容器的大小(size),但会预先分配足够的内存,避免后续添加元素时频繁重新分配。 reserve 是优化 vector..
C++ <vector> resize 函数 C++ 容器类 <vector> resize 是 vector 中用于调整大小的函数,可以改变容器中元素的数量。 resize 是容器类的成员函数,用于将容器的大小调整为指定的元素个数。如果新大小大于当前大小,会添加新元素;如果小于当前大小,会删除多余的元素。 resize 提供了灵活调整容器大小的能力,是 vector 强大..
C++ <vector> size 函数 C++ 容器类 <vector> size 是 vector 中最常用、最基础的函数之一,用于获取容器中元素的数量。 size 是容器类的成员函数,用于返回容器当前包含的元素个数。这个值代表了 vector 中实际存储的数据量。 size 是操作 vector 时最频繁使用的函数,用于循环遍历、边界检查、条件判断等场景。 单词释义:..
C++ 容器类 <vector> 简介 C++ 标准库(Standard Template Library, STL)是 C++ 的一个重要组成部分,它提供了一组通用的模板类和函数,用于处理数据集合。<vector> 是 STL 中的一个容器类,用于存储动态大小的数组。 <vector> 是一个序列容器,它允许用户在容器的末尾快速地添加或删除元素。与数..
C++ 循环 有的时候,可能需要多次执行同一块代码。一般情况下,语句是顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。 编程语言提供了允许更为复杂的执行路径的多种控制结构。 循环语句允许我们多次执行一个语句或语句组,下面是大多数编程语言中循环语句的一般形式: 循环类型 C++ 编程语言提供了以下几种循环类型。点击链接查看每个类型的细节。 循环类型描述 while 循环当给定条件为真时,重复语句或语句组。它会..
C++ 成员运算符 C++ 运算符 .(点)运算符和 ->(箭头)运算符用于引用类、结构和共用体的成员。 点运算符应用于实际的对象。箭头运算符与一个指向对象的指针一起使用。例如,假设有下面的结构: struct Employee { char first_name[16]; int age; } emp; (.)点运算符 下面的代码把值 'zara' 赋给对象 emp 的 first..
C++ 修饰符类型 C++ 允许在 char、int 和 double 数据类型前放置修饰符。 修饰符是用于改变变量类型的行为的关键字,它更能满足各种情境的需求。 下面列出了数据类型修饰符: signed:表示变量可以存储负数。对于整型变量来说,signed 可以省略,因为整型变量默认为有符号类型。unsigned:表示变量不能存储负数。对于整型变量来说,unsigned 可以将变量范围扩大一倍。short:表示变量的范围比 int..
C++ 多维数组 C++ 数组 C++ 支持多维数组。多维数组声明的一般形式如下: type name[size1][size2]...[sizeN]; 例如,下面的声明创建了一个三维 5 . 10 . 4 整型数组: int threedim[5][10][4]; 二维数组 多维数组最简单的形式是二维数组。一个二维数组,在本质上,是一个一维数组的列表。声明一个 x 行 y 列的二维整型数组,形式如下: type ..
C++ 多线程 线程是程序中的轻量级执行单元,允许程序同时执行多个任务。 多线程是多任务处理的一种特殊形式,多任务处理允许让电脑同时运行两个或两个以上的程序。 一般情况下,两种类型的多任务处理:基于进程和基于线程。 基于进程的多任务处理是程序的并发执行。基于线程的多任务处理是同一程序的片段的并发执行。 C++ 多线程编程涉及在一个程序中创建和管理多个并发执行的线程。C++ 提供了强大的多线程支持,特别是在 C++11 标准及其之后,..
C++ 命名空间 假设这样一种情况,当一个班上有两个名叫 Zara 的学生时,为了明确区分它们,我们在使用名字之外,不得不使用一些额外的信息,比如他们的家庭住址,或者他们父母的名字等等。 同样的情况也出现在 C++ 应用程序中。例如,您可能会写一个名为 xyz() 的函数,在另一个可用的库中也存在一个相同的函数 xyz()。这样,编译器就无法判断您所使用的是哪一个 xyz() 函数。 因此,引入了命名空间这个概念,专门用于解决上面的问..
C++ 嵌套 if 语句 C++ 判断 在 C++ 中,嵌套 if-else 语句是合法的,这意味着您可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。 嵌套 if 语句是一种 if 语句的变体,其中一个 if 语句可以在另一个 if 语句中嵌套。 嵌套 if 语句可以帮助您更精确地测试多个条件。 语法 C++ 中 嵌套 if 语句的语法: if( boolean_expression ..
C++ 嵌套循环 C++ 循环 一个循环内可以嵌套另一个循环。C++ 允许至少 256 个嵌套层次。 语法 C++ 中 嵌套 for 循环 语句的语法: [mycode3 type='cpp'] for ( init; condition; increment ) { for ( init; condition; increment ) { statement(s); }..
C++ 嵌套 switch 语句 C++ 判断 您可以把一个 switch 作为一个外部 switch 的语句序列的一部分,即可以在一个 switch 语句内使用另一个 switch 语句。即使内部和外部 switch 的 case 常量包含共同的值,也没有矛盾。 C++ 中的 switch 语句允许至少 256 个嵌套层次。 语法 C++ 中 嵌套 switch 语句的语法: switch(ch1) { case ..
C++ Null 指针 C++ 指针 在变量声明的时候,如果没有确切的地址可以赋值,为指针变量赋一个 NULL 值是一个良好的编程习惯。赋为 NULL 值的指针被称为空指针。 NULL 指针是一个定义在标准库中的值为零的常量。请看下面的程序: 实例 [mycode4 type='cpp'] #include using namespace std; int main () { int *ptr ..