数组尽管很灵活,但使用起来还是很多不方便。为此,C++ 语言定义了扩展的“抽象数据类型”(Abstract Data Type,ADT),放在“标准库”中。 对数组功能进行扩展的一个标准库类型,就是“容器” vector。顾名思义,vector “容纳”着一堆数据对象,其实就是一组类型相同的数据对象的集合。 头文件和命名空间 vector 是标准库的一部分。要想使用 vector,必须在程序中包含 <vector> 头文件,并使用std 命名空间。 # include<vector> using namespace std; 在 vector 头文件中,对 vector 这种类型做了定义;使用 #includ 引入它之后,并指定命名空间 std 之后,我们就可以在代码中直接使用 vector 了。 vector 的基本使用 vector 其实是 C++ 中的一个“类模板”,是用来创建类的“模子”。所以在使用时还必须提供具体的类型信息,也就是说,这个容器中到底要容纳什么类型的数据对象;具体的形式是在 vector 后面跟一个尖括号 <&
计算机编程中,函数是一种独立的代码块用于实现特定的功能,并被设计为可重用的代码。函数是面向过程程序设计的基本单元,它可将程序划分为若干独立的功能模块,利于代码的维护和管理。 常见的一个函数由函数的返回值类型、函数名、参数表、函数体这 4 个部分组成。 1. 函数默认参数 在 C++ 中,函数的形参列表中的形参是可以有默认值的。 语法: 返回值类型 函数名 (参数 = 默认值){} 示例: int func(int a, int b = 10, int c = 10) { return a + b + c; } //1. 如果某个位置参数有默认值,那么从这个位置往后,从左向右,必须都要有默认值 //2. 如果函数声明有默认值,函数实现的时候就不能有默认参数 int func2(int a = 10, int b = 10); int func2(int a, int b) { return a + b; } int main() { cout << "ret = " << func(20, 20) << end
在面向对象的编程语言中,我们经常听见一些名词,引用、地址。而引用则是引入了对象的一个同义词。定义引用的表示方法与定义指针相似,只是用 &代替了 *。引用(reference)是 C++ 对 C 语言的重要扩充。引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。 注意:引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。 1.引用的基本使用 作用: 给变量起别名。 语法: 数据类型 &别名 = 原名 示例 : int main() { int a = 10; int &b = a; cout << "a = " << a << endl; cout << "b = " << b << endl; b = 100; cout << "a = " << a << endl; cout <
编程语言中,我们习惯将函数(方法)调用自身的过程称为递归,调用自身的函数称为递归函数,用递归方式解决问题的算法称为递归算法。 调用方式 函数(方法)调用自身的实现方式有 2 种,分别是: 直接调用自身,例如: int function(/*....*){ //...... //调用自身 function(/*...*); //...... } 间接调用自身,例如: int funciton1(/*...*/) { //...... //调用另一个函数 function2(/*...*/); //...... } int function2(/*...*/) { //...... //调用function1()函数 funciton1(/*...*/); //...... } 在上面程序中,function1() 函数内部调用了 function2() 函数,而 function2() 函数内部又调用了function1() 函数,也就是说 function1() 函数间接调用了自身。 具体示例 在设计递归函数时,我们要为它设置一个结束递归的“出口”,否则函数会
内存分区模型 C++ 程序在执行时,将内存大方向划分为 4个区域 代码区:存放函数体的二进制代码,由操作系统进行管理的 全局区:存放全局变量和静态变量以及常量 栈区:由编译器自动分配释放, 存放函数的参数值,局部变量等 堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收 内存四区意义: 不同区域存放的数据,赋予不同的生命周期,给我们更大的灵活编程。 程序运行前 在程序编译后,生成了exe可执行程序,未执行该程序前分为两个区域。 代码区: 存放 CPU 执行的机器指令 代码区是 共享 的,共享的目的是对于频繁被执行的程序,只需要在内存中有一份代码即可 代码区是 只读 的,使其只读的原因是防止程序意外地修改了它的指令 全局区: 全局变量和静态变量存放在此 全局区还包含了常量区, 字符串常量和其他常量也存放在此 该区域的数据在程序结束后由操作系统释放 示例: //全局变量 int g_a = 10; int g_b = 10; //全局常量 const int c_g_a = 10; const int c_g_b = 10; int main() {
Justin_Wu
山不让尘,川不辞盈
本网站由 提供CDN加速/云存储服务
鄂ICP备2023005457号 鄂公网安备 42011302000815号
欢迎来自 * · * 的用户