【厚积薄发】编程技术总结8—常见笔试面试题小结

来源:互联网 发布:中央电大网络教育专业 编辑:程序博客网 时间:2024/06/06 01:42

1.初始化列表效率比在构造中初始化效率高。const和引用变量以及基类构造函数初始化必须要使用初始化列表。

2.sizeof(空类) = 1,如果有虚方法,则等于4(虚表指针)。

3.main函数执行前会执行全局对象的构造函数。

4.C++不是类型安全的,存在不同指针之间的强制类型转换reinterpert_cast。C#是类型安全的。

5.class和struct区别:前者默认是私有的,后者默认是共有的。

6.C++4种强制转换类型:static_cast静态强制类型转换(非多态类型的转换),没有类型检查、dynamic_cast有类型检查(有多态类型的转换)这两者向上转换(子类到基类)效果是一样的,向下转换后者有类型检查比static_cast更安全。 

const_cast去const的强制转换、reinterpert_cast用的比较少。

7.const和define区别,const的作用定义常量、修饰函数参数、修饰函数返回值,被修饰的对象受到强制保护,提高程序的健壮性。

const的有类型检查,define没有。const支持调试而define不能。

8.KMP字符串匹配算法,效率比较高,时间复杂度O(m+n)。

9.防止头文件重复

#ifdef "TEST_H"

#define "TEST_H"

...code

#endif

或  #program once


0 0
原创粉丝点击