Learning Path
浏览 C++ 相关教程与章节。
主流编程语言、数据结构、设计模式、正则与基础算法。
教程
213
C++ 字符串 C++ 提供了以下两种类型的字符串表示形式: C 风格字符串 C++ 引入的 string 类类型 C 风格字符串 C 风格的字符串起源于 C 语言,并在 C++ 中继续得到支持。字符串实际上是使用 null 字符 \0 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。 下面的声明和初始化创建了一个 RUNOOB 字符串。由于在数组的末尾存储了空字符,所以字符数组的大小比..
C++ 结构体(struct) C/C++ 数组允许定义可存储相同类型数据项的变量,但是结构是 C++ 中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项。 结构用于表示一条记录,假设您想要跟踪图书馆中书本的动态,您可能需要跟踪每本书的下列属性: Title :标题 Author :作者 Subject :类目 Book ID :书的 ID 定义结构在 C++ 中,struct 语句用于定义结构体(stru..
C++ switch 语句 C++ 判断 在 C++ 中,switch 语句用于基于不同的条件执行不同的代码块,它通常用来替代一系列的 if-else 语句,使代码更清晰和易读。 一个 switch 语句允许测试一个变量等于多个值时的情况。每个值称为一个 case,且被测试的变量会对每个 switch case 进行检查。 语法 C++ 中 switch 语句的语法: [mycode3 type='cpp'..
C++ 模板 模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。 模板是创建泛型类或函数的蓝图或公式。库容器,比如迭代器和算法,都是泛型编程的例子,它们都使用了模板的概念。 每个容器都有一个单一的定义,比如 向量,我们可以定义许多不同类型的向量,比如 vector <int> 或 vector <string>。 您可以使用模板来定义函数和类,接下来让我们..
C++ this 指针 C++ 类 & 对象 在 C++ 中,this 指针是一个特殊的指针,它指向当前对象的实例。 在 C++ 中,每一个对象都能通过 this 指针来访问自己的地址。 this是一个隐藏的指针,可以在类的成员函数中使用,它可以用来指向调用对象。 当一个对象的成员函数被调用时,编译器会隐式地传递该对象的地址作为 this 指针。 友元函数没有 this 指针,因为友元不是类的成员,只有成员函数才有 thi..
C++ 教程 C++ 是一种高级语言,它是由 Bjarne Stroustrup 于 1979 年在贝尔实验室开始设计开发的。C++ 进一步扩充和完善了 C 语言,是一种面向对象的程序设计语言。C++ 可运行于多种平台上,如 Windows、MAC 操作系统以及 UNIX 的各种版本。 本教程通过通俗易懂的语言来讲解 C++ 编程语言。 现在开始学习 C++ 编程! C++ 在线工具 谁适合阅读本教程? 本教程是专门为初学者..
C++ 有用的资源 以下资源包含了 C++ 有关的网站、书籍和文章。请使用它们来进一步学习 C++ 的知识。 C++ 有用的网站 C++ Standard Library headers − C++ 标准库。 C++ Programming − 这本书涵盖了 C++ 语言编程、软件交互设计、C++ 语言的现实生活应用。 C++ FAQ − C++ 常见问题 Free Co..
C++ 变量作用域 一般来说有三个地方可以定义变量: 在函数或一个代码块内部声明的变量,称为局部变量。 在函数参数的定义中声明的变量,称为形式参数。 在所有函数外部声明的变量,称为全局变量。 作用域是程序的一个区域,变量的作用域可以分为以下几种: 局部作用域:在函数内部声明的变量具有局部作用域,它们只能在函数内部访问。局部变量在函数每次被调用时被创建,在函数执行完后被销毁。 全局作用域:在所有函数和代码块之外声明的变量具有全..
C++ 变量类型 变量其实只不过是程序可操作的存储区的名称。 在 C++ 中,有多种变量类型可用于存储不同种类的数据。 C++ 中每个变量都有指定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上。 变量的名称可以由字母、数字和下划线字符组成。它必须以字母或下划线开头。大写字母和小写字母是不同的,因为 C++ 是大小写敏感的。 基于前一章讲解的基本类型,有以下几种基本的变量类型,将在下一章中进..
C++ vector 容器 在 C++ 中,vector 是最常用的 STL 容器之一。 vector 本质上是一个可自动扩容的动态数组,与传统数组相比,vector 不需要手动管理内存,可以根据元素数量自动扩容。 由于 vector 具有: 连续内存存储 随机访问速度快 STL 生态完整 缓存友好(Cache Friendly) 因此,在现代 C++ 开发中,大部分顺序数据存储场景都会优先考虑 vector..
C++ Web 编程 什么是 CGI? 公共网关接口(CGI),是一套标准,定义了信息是如何在 Web 服务器和客户端脚本之间进行交换的。 CGI 规范目前是由 NCSA 维护的,NCSA 定义 CGI 如下: 公共网关接口(CGI),是一种用于外部网关程序与信息服务器(如 HTTP 服务器)对接的接口标准。 目前的版本是 CGI/1.1,CGI/1.2 版本正在推进中。 Web 浏览 为了更好地了解 CGI 的概念,让我们点击..
C++ while 循环 C++ 循环 只要给定的条件为真,while 循环语句会重复执行一个目标语句。 语法 C++ 中 while 循环的语法: while(condition) { statement(s); } 在这里,statement(s) 可以是一个单独的语句,也可以是几个语句组成的代码块。condition 可以是任意的表达式,当为任意非零值时都为真。当条件为真时执行循环。 当条件为假时,程序流将继续..
C++ 导入标准库 在 C++ 编程中,标准库(Standard Library)是一个非常重要的组成部分。 标准库提供了大量的预定义函数和类,可以帮助我们更高效地完成各种任务,为了使用这些功能,我们需要在程序中导入相应的标准库头文件。本文将详细介绍如何在 C++ 中导入标准库,并解释一些常见的标准库头文件及其用途。 什么是C++标准库? C++ 标准库是 C++ 语言的一部分,它包含了一系列的类和函数,用于处理常见的编程任务,如输入输..
C++ 函数调用运算符 () 重载 C++ 重载运算符和重载函数 函数调用运算符 () 可以被重载用于类的对象。当重载 () 时,您不是创造了一种新的调用函数的方式,相反地,这是创建一个可以传递任意数目参数的运算符函数。 下面的实例演示了如何重载函数调用运算符 ()。 #include using namespace std; class Distance { private: int feet; ..
C++ ++ 和 -- 运算符重载 C++ 重载运算符和重载函数 递增运算符( ++ )和递减运算符( -- )是 C++ 语言中两个重要的一元运算符。 下面的实例演示了如何重载递增运算符( ++ ),包括前缀和后缀两种用法。类似地,您也可以尝试重载递减运算符( -- )。 实例 [mycode3 type='cpp'] #include using namespace std; class Time..
C++ 输入/输出运算符重载 C++ 重载运算符和重载函数 C++ 能够使用流提取运算符 >> 和流插入运算符 << 来输入和输出内置的数据类型。您可以重载流提取运算符和流插入运算符来操作对象等用户自定义的数据类型。 在这里,有一点很重要,我们需要把运算符重载函数声明为类的友元函数,这样我们就能不用创建对象而直接调用函数。 下面的实例演示了如何重载提取运算符 >..
C++ 把引用作为参数 C++ 引用 我们已经讨论了如何使用指针来实现引用调用函数。下面的实例使用了引用来实现引用调用函数。 实例 [mycode3 type='cpp'] #include using namespace std; // 函数声明 void swap(int& x, int& y); int main () { // 局部变量声明 int a = 10..
C++ 关系运算符重载 C++ 重载运算符和重载函数 C++ 语言支持各种关系运算符( < 、 > 、 <= 、 >= 、 == 等等),它们可用于比较 C++ 内置的数据类型。 您可以重载任何一个关系运算符,重载后的关系运算符可用于比较类的对象。 下面的实例演示了如何重载 < 运算符,类似地,您也可以尝试重载其他的关系运算符。 实例 [mycode4 typ..
C++ 把引用作为返回值 C++ 引用 通过使用引用来替代指针,会使 C++ 程序更容易阅读和维护。C++ 函数可以返回一个引用,方式与返回一个指针类似。 当函数返回一个引用时,则返回一个指向返回值的隐式指针。这样,函数就可以放在赋值语句的左边。例如,请看下面这个简单的程序: 实例 [mycode3 type='cpp'] #include using namespace std; double ..
C++ 下标运算符 [] 重载 C++ 重载运算符和重载函数 下标操作符 [] 通常用于访问数组元素。重载该运算符用于增强操作 C++ 数组的功能。 下面的实例演示了如何重载下标运算符 []。 实例 [mycode3 type='cpp'] #include using namespace std; const int SIZE = 10; class safearay { private: ..
C++ 一元运算符重载 C++ 重载运算符和重载函数 一元运算符只对一个操作数进行操作,下面是一元运算符的实例: 递增运算符( ++ )和递减运算符( -- ) 一元减运算符,即负号( - ) 逻辑非运算符( ! ) 一元运算符通常出现在它们所操作的对象的左边,比如 !obj、-obj 和 ++obj,但有时它们也可以作为后缀,比如 obj++ 或 obj--。 下面的实例演示了如何重载一元减运算符( - )。 实例 [m..