![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++面试题
康斯坦奇
邻舍老翁来收网,我是临渊不羡鱼!
展开
-
队列的注意事项
双端队列:https://www.cnblogs.com/linuxAndMcu/p/10260124.html 普通队列:https://blog.csdn.net/zichen_ziqi/article/details/80819939 vector的函数:https://www.runoob.com/w3cnote/cpp-vector-container-analysis.html ...原创 2020-02-09 21:39:26 · 453 阅读 · 0 评论 -
C++面试题(一)——基础概念篇
面试C++程序员的时候一般都是3板斧,先是基础问答,然后一顿虚函数、虚函数表、纯虚函数、抽象类、虚函数和析构函数、虚函数和构造函数。接着拷贝构造函数、操作符重载、下面是STL,最后是智能指针。 1.C++和C相比最大的特点: ①面向对象:封装,继承,多态; ②引入引用代替指针; ③const/inline/template替代宏变量; ④STL提供高效的数据结构和算法; ⑤names...原创 2019-09-18 15:25:16 · 207 阅读 · 0 评论 -
C++面试题(二)——实现一个String类
实现一个自己的String类是一道考验C++基础知识的好题。 至少要能实现以下:构造函数、析构函数、拷贝构造函数(copy constructor)、重载赋值操作符(copy assignment operator)。首先是至少能够准确的写出这几个函数的声明。 ...原创 2019-09-18 15:33:47 · 563 阅读 · 0 评论 -
C++面试题(三)——STL相关各种问题
1.用过哪些容器? 答案:最常用的容器就是:vector,list,map,hash_map. 2.vector,list,deque的实现? 答案: ①vector是一块连续内存,当空间不足了会再分配; ②list是双向链表; ③deque是双端队列可在头和尾部插入、删除元素。 3.hashmap和map的区别? 答案:一个是基于hash表实现,一个是基于红黑树实现。 4.红黑树有什么特性? 答...原创 2019-09-18 16:27:58 · 360 阅读 · 0 评论 -
C++面试题(四)——智能指针的原理和实现
1.你知道智能指针吗?智能指针的原理? 答案:智能指针是一个类,这个类的构造函数中传入一个普通指针,析构函数中释放传入的指针。智能指针的类都是栈上的对象,所以当函数(或程序)结束时会自动被释放。 2.最常用的智能指针? 答案: ①std::auto_ptr,有很多问题。不支持(拷贝构造函数)和赋值(operator = ),但赋值或复制的时候不会提示出错。因为不能被复制,所以不能被放入容器中。 ②...原创 2019-09-18 16:44:36 · 498 阅读 · 0 评论 -
C++面试常见问题
1.在C++程序中调用被C编译器编译后的函数,为什么要加extern “C”? 答:首先,extern是C/C++语言中表明函数和全局变量作用范围的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其他模块中使用。通常,在模块的头文件中对本模块提供提供给其他模块引用的函数和全局变量以关键字extern声明。extern "C"是连接声明(linkage declaration),被ext...原创 2019-09-20 09:50:33 · 290 阅读 · 0 评论