C++
VVV_MN
互相交流 共同进步
展开
-
C++容器(一)
C++中为了方便使用,引入了容器这个概念,容器的本质是一个类模板,可以存放任意类型的数据,而为了能操作类中的数据,又不破坏封装性,采用迭代器来访问类中的成员,同时还提供泛型算法,提高编程效率。简单来说,算法通过迭代器来对容器内的数据进行处理。容器分为顺序容器、关联容器、容器适配器,今天主要说顺序容器。顺序容器中又有三个容器,分别是vector(矢量容器)、list(双向链表容器)、deque(...原创 2020-02-27 23:32:08 · 347 阅读 · 0 评论 -
C++ 函数模板
template<typename T>T Sum(T a, T b) { return a + b; }1.函数模板:上面定义的模板为函数模板 <>模板的参数列表编译:定义点:只编译模板的头部 调用点:编译模板体(编译模板实例化后的模板函数)替换的过程:模板的实例化2.模板实例化:调用函数模板生成函数的过程(用参数列表中的类型替换该函数...原创 2019-12-01 13:34:28 · 156 阅读 · 0 评论 -
C++ static关键字(修饰对象及成员)
static修饰对象中的成员变量,可以用类作用域访问,也可以用对象访问class Test{public: void test1() { std::cout << "void test1()" << std::endl; } static void test2() { std::cout << "static test2" <<...原创 2019-11-20 13:21:52 · 838 阅读 · 0 评论 -
C++ 临时对象和对象的生存周期
先定义一个 Test 临时对象calss Test{public: Test() { ma = mb = 0; } Test(int a) { ma = a; mb = 0; } Test(int a, int b) { ma = a; mb = b; } Test(const Test& rhs) //因为没有指针所以不需要深拷贝 ...原创 2019-11-15 11:13:50 · 310 阅读 · 0 评论 -
C++ 常对象、常方法的相关知识
首先创建一个类calss Test{public: void Test()const //常方法 其中this指针由Test* const--> const Test*const {} Test(int a):ma(a),mb(b) //构造函数(使用了初始化列表) {}private: int ma; int mb; const int mc; ...原创 2019-11-12 15:51:55 · 533 阅读 · 0 评论 -
C++ 类和对象、默认函数
类和对象类简单来说就是将方法和定义封装到一块,类似于“结构体”的一个变量,与结构体不同的是,结构体中只有变量,而类中不仅有变量,还有对变量操作的方法。写一个简单的类calss A{friend class B;public: //公共的(该文件中的任意位置都可以访问) int Max(int a,int b) { return a > b ? a : b; } p...原创 2019-10-28 23:51:03 · 184 阅读 · 0 评论 -
C++基础(二)
5、inline函数(关键字) 在函数定义处添加①编译阶段,此函数将不生成符号②编译阶段,直接在调用点展开③该函数本文件可见内联函数与宏的区别:①处理时机不同,宏在预编译阶段直接文本替换 内联函数是在函数调用点将函数展开②inline 代码展开; 宏 文本替换,并无安全检查和类型检查③内联函数时一种更安全的宏inline本质上是一种以空间换时间的做法使用时机:当函数开...原创 2019-10-21 23:15:01 · 620 阅读 · 0 评论 -
4G虚拟内存布局
为了保证进程运行的安全性,操作系统使用保护模式,系统不会直接访问数据真实的地址,采用虚拟内存,虚拟内存与真实内存映射,通过映射关系来获取文件和数据。系统会给每个进程都分配一个4G大小的虚拟内存虚拟内存空间的布局:分为用户空间(3G)和内核空间(1G)数据区为了方便理解是我自己划分的 实际没有1、保留区(128M),这段区域不存放任何东西,不可以被访问2、数据区,指令(局部变量也属于指令,...原创 2019-09-18 12:25:44 · 535 阅读 · 0 评论 -
C++基础(一)
1、函数默认值特点: ①.自右向左依次赋予②.不能重复赋予③.一般写在声明上(顺序:函数声明、函数调用、函数定义)2、函数重载1.函数符号的生成方式:C:_+函数名C++:返回值+函数名+形参列表+函数体2.重载不依赖函数名和返回值3.函数重载的三要素①同名 ②不同参数 ③同作用域(函数调用采取就近原则)3、C/C++的相互调用三种方式:1.C++调...原创 2019-10-11 14:11:40 · 201 阅读 · 0 评论