C++
文章平均质量分 82
Soryu_Shikinami
Tender is the night.
展开
-
【STL详解】list的模拟实现
目录 list的模拟实现总览: 1.节点类的模拟实现 构造函数 2.迭代器类的模拟实现 迭代器类的模板参数说明 构造函数 ++运算符的重载 --运算符的重载 ==运算符的重载 !=运算符的重载 *运算符的重载 ->运算符的重载 list的模拟实现 默认成员函数 构造函数 拷贝构造函数(迭代器版本) 拷贝构造函数(现代写法) 赋值运算符重载函数(现代写法) 其他构造函数 析构函数 迭代器相关函数 访问容器相关函数 插入、删除函数 insert(...原创 2022-03-29 16:29:01 · 1060 阅读 · 70 评论 -
【STL详解】string类
1.标准库中的string类 string类的常用接口说明: 1. string类对象的常见构造 2.2string类对象的容量操作 3. string类对象的访问及遍历操作 4. string类对象的修改操作 5. string类非成员函数原创 2022-03-26 21:50:31 · 3886 阅读 · 53 评论 -
【C++】模板初阶
1. 泛型编程 如何实现一个通用的交换函数呢? void Swap(int& left, int& right) { int temp = left; left = right; right = temp; } void Swap(double& left, double& right) { double temp = left; left = right; right = temp; } void Swap(char& left, char&原创 2022-02-28 16:49:53 · 127 阅读 · 6 评论 -
【C++】内存管理
【本节目标】 1. C/C++内存分布 2. C语言中动态内存管理方式 3. C++中动态内存管理 4. operator new与operator delete函数 5. new和delete的实现原理 6. 定位new表达式(placement-new) 7. 常见面试题 1. C/C++内存分布 我们先来看下面的一段代码和相关问题 int globalVar = 1; static int staticGlobalVar = 1; void Test() { static int stati原创 2022-02-04 14:07:22 · 258 阅读 · 26 评论 -
【C++】引用
1.引用 1.1 引用概念 引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。 类型& 引用变量名(对象名) = 引用实体; int main() { int a = 10; int& b = a;//给变量a去了一个别名,叫b cout << "a = " << a << endl;//a打印结果为10 cout << "b = " <<原创 2022-01-25 11:51:58 · 820 阅读 · 36 评论 -
【C++】输入输出,缺省参数,函数重载
1.C++输入&输出 新生婴儿会以自己独特的方式向这个崭新的世界打招呼,C++刚出来后,也算是一个新事物那C++是否也应该向这个美好的世界来声问候呢?我们来看下C++是如何来实现问候的。 #include<iostream> using namespace std; int main() { cout << "Hello world!!!" << endl; return 0; } 说明: 1.使用cout标准输出(控制台)和cin标准输入原创 2022-01-24 20:46:38 · 348 阅读 · 10 评论 -
【C++】命名空间
在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的。 1.定义 定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{ }即可,{ }中即为命名空间的成员。 //1. 普通的命名空间 namespace N1 // N1为命名空间的名称 { // 命名空间中的内容.原创 2022-01-23 17:01:17 · 178 阅读 · 22 评论