百度提前批C++一面
还没面完就知道自己要寄,但是还是分享出来希望有大佬出来帮忙解答一下,谢谢啦!
- C++多线程编程
- 多线程之间的数据同步方式
- 锁的种类和分别的作用(互斥锁、自旋锁、读写锁)
- vector和list的区别
- 虚函数和纯虚函数
- 继承和多态
- 两道编程:桶排序 字符串转float数组 int stof(string s,float *f)
中间面试官在黑板上手写了两个c++代码:
vector<int> v(4); v[1]=1; v[2]=2; int *p=&v[3]; for(int i = 0;i<100;i++) v.push_back(i); v[3]=300; *p=400; cout<<v[3]<<*p<<endl;
这段代码存在哪些问题,输出的结果是多少?
class A{ public: void test(){ delete this; } } ①A a; a.test(); ②A *p = new A(); p->test();
分别会发生什么情况(应该是这么问的)
class B:public A{ public: void test(){} } ③A a; a.test(); ④A *p = new B(); p->test();
调用的分别是谁的test,为什么?如果在A的test前加上virtual呢?
#秋招##牛客在线求职答疑中心#