当前位置: 首页 > 面试经验 >

百度提前批C++一面

优质
小牛编辑
90浏览
2023-08-19

百度提前批C++一面

还没面完就知道自己要寄,但是还是分享出来希望有大佬出来帮忙解答一下,谢谢啦!

  1. C++多线程编程
  2. 多线程之间的数据同步方式
  3. 锁的种类和分别的作用(互斥锁、自旋锁、读写锁)
  4. vector和list的区别
  5. 虚函数和纯虚函数
  6. 继承和多态
  7. 两道编程:桶排序 字符串转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呢?

#秋招##牛客在线求职答疑中心#
 类似资料: