摘要:void test(){ //条款4 使用empty()判断空 //条款5 使用assign赋值,insert赋值 vector<int> v1(10.5), v2(20.7); v1.clear(); //copy(v2.begin() + v2.size() / 2, v2.end(), bac
阅读全文
摘要:#include "numeric_limits.hpp"#include <limits>#include <iostream> ///////////////////////////////////////////////////////////////////////* reference:
阅读全文
摘要:两种协议都是传输层协议,为应用层提供信息载体。 TCP协议是基于连接的字节流的可靠协议,有三次握手,四次挥手,超时重传,流量控制(滑动窗口),拥塞控制和差错控制,也正因为有可靠性的保证和控制手段,所以传输效率比UDP低; UDP协议是基于无连接的数据报的不可靠协议,没有控制手段,仅仅是将数据发送给对
阅读全文
摘要:这个貌似有点复杂,解决的主要问题 就是 减少 内存分配次数,减少用户态核心态切换中断次数,提高运行速度,预分配 和线程池一个道理,预分配 ////////////////////自由链表 union obj { union obj * newt; char value[1]; } 这块暂时没看懂,为
阅读全文
摘要:构造函数 1.构造顺序 虚基类构造函数,基类构造函数,类对象构造函数,自己的构造函数 2.必须使用初始化列表 (1) 引用成员,常量成员; (2) 基类没默认构造函数(自己重载覆盖了), (3)类对象成员没默认构造函数(自己重载覆盖了) 3.析构顺序 reverse( 虚基类构造函数,基类构造函数,
阅读全文
摘要:原来的内存管理代码 int main(){ int *ptr = new(nothrow) int(0); //关闭异常 if(!ptr) { cout << "new fails." return 0; } if(!check()) ///有校验 ,抛出异常,每次都得管理内存 { delete p
阅读全文
摘要:指针与引用的定义与区别 1. 指针:指针是一个变量,存储的是一个地址,指向内存的一个存储单元; 引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已; 2. NULL,初始化,能否改变 3. sizeof() 大小 4.函数参数传递,引用不会拷贝任何副本,指针还是拷贝指针副本 /////
阅读全文
摘要:1、多态性 指相同对象收到不同消息或不同对象收到相同消息时产生不同的实现动作。 C++支持两种多态性:编译时多态性,运行时多态性。 a、编译时多态性:通过重载函数实现 ,模板(2次编译) b、运行时多态性:通过虚函数实现。 2、覆盖,隐藏,重载 重载,静态多态,一个类里面 覆盖, 虚函数 ,同参数,
阅读全文
摘要:1.分配地方不同,malloc是堆上面,new是自由存储区域 2.malloc/delete是函数,new/delete是操作符,可以重载 3.malloc 要指定大小,返回的是void*指针,开辟的是空空间,失败返回NULL new有类型检测,编译器会自动计算大小,还会初始化空间,返回的是类指针,
阅读全文
摘要://内存 栈区 与 static区 ,C++为了兼容C,#include 只是文本替换,导致一堆命名空间之间的复杂问题,倍受人诟病 extern 关键字 1.基本含义:意如其名,告诉编译器声明的东西是外部的。 特殊用法 extern "C" + 函数,声明这个函数翻译优化的时候 函数名 不改变(c+
阅读全文