C++学习
C++学习
漓艾初
云计算 资源管理 serverless 多聊聊~
展开
-
C++ 要注意地方
可以自行ctrl + F 寻找相关内容重载运算符: - unary operators should be members 单目运算符应该为成员函数- = () [] -> ->* must be members 这些运算符必须为成员函数重载- assignment operators should be members 赋值应该为成员...原创 2019-03-04 16:55:17 · 783 阅读 · 1 评论 -
C++ 指针的指针和指针的引用
我们会遇到一种函数 例如: void fun(int * *p) 或者void fun(int * &p)这两种函数是什么意思呢?首先先看void fun(int p) ->>>>>>>>这里的p是一个形参,函数内内部修改该参数不会导致外部实参的改变。void fun(int p){ p = 3; ...原创 2019-03-12 16:44:26 · 234 阅读 · 0 评论 -
C++ 之 函数 相关知识点
一、函数参数传递机制1.值传递Ø 调用函数时,实参表达式的值被复制到相应形参标识的对象,并按形参类型强制转换 Ø 函数内对形参的访问、修改,都在形参的标识对象进行Ø 函数返回时,形参对象被撤消,不影响实参的值Ø 值传送的实参可以是常量、有确定值的变量或表达式 Ø 函数返回值通过匿名对象传递 Ø C++没有规定在函数调用时实际参数...转载 2019-03-12 16:09:40 · 221 阅读 · 0 评论 -
C++ 之 运算符重载 相关知识点整理
1.重载运算符函数可以对运算符作出新的解释,但原有基本语义不变:Ø不改变运算符的优先级Ø不改变运算符的结合性Ø不改变运算符所需要的操作数 Ø不能创建新的运算符Ø运算符函数是一种特殊的成员函数或友元函数Ø一个运算符被重载后,原有意义没有失去,只是定义了相对一特定类的一个新运算符2.语法Ø 成员函数的语法形式为: 类型 类名 :: operator...原创 2019-03-11 22:03:07 · 474 阅读 · 0 评论 -
C++ 之 模板 相关知识点整理
一、什么是模板模板使得程序(算法)可以从逻辑功能上抽象,把被处理的对象(数据)类型作为参数传递C++提供两种模板机制: 函数模板 类模板二、模板形式/声明1.声明模板中使用的类属参数,形式为:template <类型形式参数表 >类型形式参数表 : typename T1 , t...原创 2019-03-07 19:19:19 · 772 阅读 · 0 评论 -
C++ 之 输入输出流 相关知识点整理
一、流类与流对象。1.基础概念Ø 程序中,对数据的输入/输出是以字节流实现的Ø 应用程序对字节序列作出各种数据解释Ø I/O系统的任务就是在内存和外部设备之间稳定可靠地传输数据和解释数据。Ø 流类对象可以建立和删除,可以从流中获取数据和向流添加数据2.流类库Ø流类库(stream library)是用继承方法建立的输入输出类库Ø 流库具有两个平行的基类:stre...原创 2019-03-10 21:11:30 · 1042 阅读 · 0 评论 -
C++ 虚函数 注意点以及图解
整理于:haoel 大牛的文章 C++ 虚函数表解析,言简意赅。无虚函数覆盖程序时: 1)虚函数按照其声明顺序放于虚函数表中。2)父类的虚函数在子类的虚函数前面。有虚函数覆盖时: 1)覆盖的f()函数被放到了虚表中原来父类虚函数的位置。2)没有被覆盖的函数依旧。Base *b =newDerive();b->f();由...转载 2019-03-06 16:05:33 · 172 阅读 · 0 评论 -
C++ 之 static
1.在C中static同时有两种完全不同的含义:a.表示存储是持久存储 persistentb.访问性是有局限的 hidden2.在函数内部定义的static变量,存储在全局变量区,但在函数外无法使用,因为函数外部的其他函数不知道此变量存储的地方。但可以在此函数中返回static变量的指针,共其他函数使用。3.在C中,全局变量或函数前面加static表示此变量或函数只能在此文件中使用。在局...转载 2019-02-26 16:43:25 · 686 阅读 · 0 评论 -
C++ 继承性 多态性 整理
一、继承性访问控制 public 公有继承 。基类中public 对应 派生类的public ,基类中protected对应 派生类的protected protected 保护继承。基类中public 和 protected 变为派生类的protected private 私有继承。基类中public 和 protected 变为派生类的private。 PS::任何继承方式...原创 2020-01-02 15:28:38 · 149 阅读 · 0 评论 -
C++ 内存管理 之 整理
1.C++内存分配方式堆:堆是操作系统中的术语,是操作系统所维护的一块特殊内存,用于程序的内存动态分配,C语言使用malloc从堆上分配内存,使用free释放已分配的对应内存。栈:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。自由存储区:自由存储区是C++基于new操...转载 2019-02-18 15:35:17 · 332 阅读 · 0 评论 -
C++ STL 背后的数据结构
C++ STL 的实现:1.vector 底层数据结构为数组 ,支持快速随机访问2.list 底层数据结构为双向链表,支持快速增删3.deque 底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问4.stack 底层一般用2或者3实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时...转载 2019-01-25 15:35:36 · 181 阅读 · 0 评论 -
C++ 队列 栈 vector容器的基本操作
队的使用:头文件: #include <queue>1.一般队列queue<int> q1;queue<double> q2; queue 的基本操作有:入队,如例:q.push(x); 将x 接到队列的末端。 出队,如例:q.pop(); 弹出队列的第一个元素,注意,并不会返回被弹出元素的值。 访问队首元素,如例:q.front()...原创 2019-01-03 11:42:32 · 5190 阅读 · 0 评论 -
C++ this指针 相关知识整理
1.this指针是啥?this 是一个指向类的实例的一个指针,指向该实例的首地址,但是 this 不是 该对象实例的一部分,即在sizeof(某对象)中不包含this指针的大小。this的目的总是指向这个对象,一个常量指针,我们不允许改变this中保存的地址2.this指针作用。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为...原创 2019-02-21 15:46:11 · 147 阅读 · 0 评论