面试
Sunny_Oo
喜欢编程,希望各位大神多多指教!!
展开
-
智能指针的交叉引用
关于智能指针的交叉引用以及解决方法~~智能指针的交叉引用会导致什么问题呢??首先,先来看以下一段代码……class B;class A{public: shared_ptr<B> _pb;};class B{public: shared_ptr<A> _pa;};int main(){ shared_ptr<A> pa(new A); shared原创 2017-08-09 15:40:41 · 1049 阅读 · 1 评论 -
g++和gcc的区别
gcc/g++在执行编译工作的时候,总共需要4步1.预处理,生成.i的文件[预处理器cpp]2.将预处理后的文件转换成汇编语言,生成文件.s[编译器egcs]3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as]4.连接目标代码,生成可执行程序[链接器ld]gcc和g++都是GNU(一个组织)的编译器。1、对于.c后缀的文件,gcc把它当做是C程序;g++当做是C+原创 2017-08-02 23:17:42 · 410 阅读 · 0 评论 -
static和const关键字的作用
static:1、修饰普通变量,修改变量的存储区域和生命周期,使变量存储在静态区,在main函数运行前就分配了空间,如果有初始值就用初始值初始化它,如果没有初始值系统用默认值来初始化它;2、修饰普通函数,表明函数的作用范围,仅在定义该函数的文件内才能使用。在多人开发项目时,为了防止与他人命名函数重名,可以将函数定位为static;3、修饰成员变量,修饰成员变量使所有的对象只保存一个该变原创 2017-08-04 13:09:09 · 270 阅读 · 0 评论 -
把一个任意数转成radix进制数,radix(1-36)
//字符串反转函数void ReverseStr(char *str)//"abc"->"cba"{ char *p = str; char *q = str; while(*q != '\0') { q++; } //*q == '\0' char tmp; for(q--;p<q;p++,q--)//p!=q原创 2017-08-04 15:13:44 · 678 阅读 · 0 评论 -
new/malloc和delete/free的区别
new/malloc和delete/free都可用于申请动态内存和释放内存 ~~一、new/malloc和delete/free的区别?1、malloc与free是C++/C 语言的标准库函数,malloc/free需要库文件支持,而new/delete 是C++的运算符,不需要库文件支持2、C++中new/delete能调用构造函数和析构函数,而malloc/原创 2017-09-13 19:38:45 · 525 阅读 · 0 评论 -
死锁产生的原因以及解决方法
死锁:当一组进程中的所有进程都在等待一个事件(等待请求事件的释放),而只有这组进程中的其它阻塞的进程才可以触发该事件。这时就称这组进程发生死锁。死锁产生的原因:(1)因为系统资源不足(2)进程运行推进的顺序不合适(3)资源分配不当死锁产生的条件:(1)互斥:一次只有一个进程可以使用一个资源。其它进程不能访问已分配给其它进程的资源。(2)占有且等待:当一个原创 2017-09-13 23:03:43 · 1225 阅读 · 0 评论 -
秋招面经总结
今天迎来了西安的第一场雪,随着雪花的到来那段痛并快乐着的日子渐渐的也不再被想起,没错,那就是秋招!经过秋招,我尝尽了求职的酸甜苦辣~-~那真是一个难忘的经历!在这期间,拿到过offer,也被拒过,也拒offer,经历过无数次失败,最终还是圆满结束!具体的就不说了,感兴趣的可以私聊下面给出我的秋招面经总结,希望可以帮助有需要的小伙伴找到心仪的工作!·项目用到线程池 为什么要用线程池优原创 2017-11-19 21:36:01 · 535 阅读 · 2 评论