怎么样才算是精通 C++?在我看来,能做到对C++语言的特性基本分类,然后根据分类正确使用它们。
对C++特性的四大分类:
1、为了兼容C语言,不得不继承下来的特性,比如#include,强制类型转换,直接内存操作,基础类型和函数系统,宏
2、为了零开销实现OOP而设计的特性,比如 class继承和派生,虚函数,函数重载
3、为了开发效率而设计的特性,比如template以及一些列stl,算符重载,auto
4、为了解决实际问题不得不向现实妥协而设计的特性,比如 explicit,mutable,xxxxx_cast,register,volatile,inline,asm,template特化,friend
第一种特性在真正需要和C语言打交道是要小心使用,第二种特性才是主要使用的,第三种特性只在遇到开发效率问题时使用,第四种特性要尽量避免使用,尽量不要制造需要这些特性才能解决的问题
作者:姚冬