使用#define定义的宏,被预处理器替换后,编译器可能看不见,所以不会存在符号表中,这样调试的时候可能就没法定位了。如果使用const定义常量的方法,则会出现在符号表中 使用#define定义的宏,替换之后,可能在代码中有多份重复的目标码,但是使用const定义常量的方法,只会有一份 使用#define定义短函数,为了不出错,要加很多括号,代码难以维护,且没有作用域限制,会修改传进去的参数,而使用inline函数,一样可以获得相同的效率 想要iterator指向的不可变,用const_iterator 成员函数定义后面加了const,表示该成员函数的实现不会改变类的内容,比如里面的成员变量 ...
阅读更多7/5/2026