C++
文章平均质量分 82
Soryu_Shikinami
Tender is the night.
展开
-
【STL详解】list的模拟实现
目录list的模拟实现总览:1.节点类的模拟实现构造函数2.迭代器类的模拟实现迭代器类的模板参数说明构造函数++运算符的重载--运算符的重载==运算符的重载!=运算符的重载*运算符的重载->运算符的重载list的模拟实现默认成员函数构造函数拷贝构造函数(迭代器版本)拷贝构造函数(现代写法)赋值运算符重载函数(现代写法)其他构造函数析构函数迭代器相关函数访问容器相关函数插入、删除函数insert(...原创 2022-03-29 16:29:01 · 1136 阅读 · 70 评论 -
【STL详解】string类
1.标准库中的string类string类的常用接口说明:1. string类对象的常见构造2.2string类对象的容量操作3. string类对象的访问及遍历操作4. string类对象的修改操作5. string类非成员函数原创 2022-03-26 21:50:31 · 4017 阅读 · 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 · 146 阅读 · 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 · 273 阅读 · 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 · 836 阅读 · 37 评论 -
【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 · 389 阅读 · 10 评论 -
【C++】命名空间
在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的。1.定义定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{ }即可,{ }中即为命名空间的成员。//1. 普通的命名空间namespace N1 // N1为命名空间的名称{ // 命名空间中的内容.原创 2022-01-23 17:01:17 · 192 阅读 · 22 评论