09 2017 档案

摘要:堆和栈的区别: 一、堆栈空间分配区别: 1、栈(操作系统):由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈; 2、堆(操作系统): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表。 二、堆栈缓存方式区别: 1、栈使 阅读全文
posted @ 2017-09-21 20:03 涛声依旧~ 阅读(167) 评论(0) 推荐(0)
摘要:1) 同步阻塞IO(Blocking IO)2) 同步非阻塞IO(Non-blocking IO)3) IO多路复用(IO Multiplexing)4) 异步IO(Asynchronous IO) 注意以下概念: 1.同步/异步 同步和异步是相对的同步 前后两件任务, 有严格的顺序一致性(依赖和递 阅读全文
posted @ 2017-09-21 20:01 涛声依旧~ 阅读(271) 评论(0) 推荐(0)
摘要:当我们在用C++做底层驱动的时候,经常会遇到内存不足的警告,究其原因,往往是因为内存出现溢出,泄露或者越界等原因。那么他们之间有什么联系吗? 内存溢出(out of memory) 是指程序在申请内存时,没有足够的内存空间供其使用。 内存泄漏(memory leak) 是指程序在申请内存后,无法释放 阅读全文
posted @ 2017-09-21 19:58 涛声依旧~ 阅读(1217) 评论(0) 推荐(0)
摘要:这里要讨论这些常用的默认初始容量和扩容的原因是: 当底层实现涉及到扩容时,容器或重新分配一段更大的连续内存(如果是离散分配则不需要重新分配,离散分配都是插入新元素时动态分配内存),要将容器原来的数据全部复制到新的内存上,这无疑使效率大大降低。 加载因子的系数小于等于1,意指 即当 元素个数 超过 容 阅读全文
posted @ 2017-09-21 19:55 涛声依旧~ 阅读(347) 评论(0) 推荐(0)
摘要:首先,如果你不知道什么是智能指针,请先移步:C++智能指针简单剖析 1.auto_ptr 1 #ifndef AUTO_PTR_H 2 #define AUTO_PTR_H 3 4 template<typename T> 5 class auto_ptr 6 { 7 public : 8 //使用 阅读全文
posted @ 2017-09-20 21:15 涛声依旧~ 阅读(799) 评论(0) 推荐(0)
摘要:1. 为什么构造函数不能为虚函数? 虚函数的调用需要虚函数表指针,而该指针存放在对象的内容空间中;若构造函数声明为虚函数,那么由于对象还未创建,还没有内存空间,更没有虚函数表地址用来调用虚函数——构造函数了。 2. 为什么析构函数可以为虚函数,如果不设为虚函数可能会存在什么问题? 首先析构函数可以为 阅读全文
posted @ 2017-09-20 19:42 涛声依旧~ 阅读(4886) 评论(0) 推荐(1)
摘要:区别:1.成员函数是面向对象的概念,所谓的成员函数,是指一个函数作为类的成员,公有成员、私有成员或者保护成员。 2.普通函数一般有两种传递方式,按类型传递和按值传递,也就是传指针和传返回值两种情况。成员函数一般是按类型传递,也即是传指针地址 3.普通函数可以随便调用,并且无法继承和封装,成员函数根据 阅读全文
posted @ 2017-09-20 19:33 涛声依旧~ 阅读(2670) 评论(0) 推荐(0)
摘要:this指针的用处: 一个对象的this指针并不是对象本身的一部分。不会影响sizeof(对象)的结果。this的作用域在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。也就是说,即使你没有写上this指针,编译器在编译的时候也是加上 阅读全文
posted @ 2017-09-20 19:30 涛声依旧~ 阅读(1472) 评论(0) 推荐(0)
摘要:C++的多态性用一句话概括就是:在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。如果对象类型是派生类,就调用派生类的函数;如果对象类型是基类,就调用基类的函数 1:用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数。 2: 阅读全文
posted @ 2017-09-18 23:40 涛声依旧~ 阅读(833) 评论(0) 推荐(0)
摘要:题目:设计一个类,我们只能生成该类的一个实例。 阅读全文
posted @ 2017-09-02 22:52 涛声依旧~ 阅读(132) 评论(0) 推荐(0)
摘要:题目:如下为类型CMyString的声明,请为该类型添加赋值运算符函数。 应聘者写出的代码应该考虑如下几点: 1. 是否返回值的类型声明为该类型的引用,并在函数结束前返回实例自身的引用(即*this)。只有返回一个引用才可以允许连续赋值,否则如果函数的返回值为void,应用该赋值函数运算符不能连续赋 阅读全文
posted @ 2017-09-02 22:48 涛声依旧~ 阅读(209) 评论(0) 推荐(0)
摘要:1.Two Sum Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input woul 阅读全文
posted @ 2017-09-02 22:11 涛声依旧~ 阅读(196) 评论(0) 推荐(0)