2022年5月22日记:Linux服务器开发,面试准备知识点
────────────────────────────────────
推荐一个 零声学院 免费公开课程,个人觉得老师讲得不错,分享给大家:[Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,立即学习]
后台服务器:https://course.0voice.com/v1/course/intro?courseId=5&agentId=0
────────────────────────────────────
-
2、动态绑定的概念,只有在程序运行时才知道调用的是哪个函数,取决new的是谁。
-
3、多态性:查虚函数表,动态绑定。
-
4、纯虚函数在基类中没有定义,但是要求子类必须重写纯虚函数。
-
5、父类指针子类对象,虚析构如果不是虚函数,不调用子类的析构函数,导致内存泄漏。如果是虚函数就解决了这个问题。
-
6、普通类可以不写析构函数,但是如果做基类就必须是虚析构。
-
7、类C想修改类A,就要在类A中定义类C为友元类。friend class C;想让谁访问就在本类中写下访问白名单。
-
8、friend void C::callCAF(int x,A &a);在A类中写下本行代码,友元成员函数。
-
9、Human *phuman=new Men;Men *pmen=(dynamic_cast(phuman));必须有虚函数。
-
10、class A final{}; 不做基类的类用final关键字。
-
11、std::move()将一个左值强制转为右值,没有移动的语义。
string str{"i love china"};string &str1{str};//string &str2{"i love china "};const string & str3{"i love china"};string &&str4{"i love china "};
-
14、operator int() const k可以用static_cast(test)强制类型转化为对应的类型,这个技能值得拥有。
-
15、using C++2.0定义函数指针新用法
typedef void(* point)(int );using point=void(* )(int );operator point(){retrun func;}
- 16、普通类成员指针的形式:
void (CT::*name)(int);name=&CT::ptfunc;CT ct,*pct;pct=&ct;(ct.*name)(15);(pct->*name)(16);int CT::*mp=&CT::m_a;
成员函数属于类,只要有类在就有成员函数在。如果要使用就要有类对象。
总结
通过本节的归纳,已经对面试经常问到的问题做了整理,希望大家都能从容不迫的应对面试笔试咯。