尽量用const和inline而不用#define
1、const int TEST_NUM = 1;
2、类中:
class Test{
private:
static const int TEST_NUM = 1;
...;
}
以上只是申明,同时需要在类实现时进行定义:
const int Test::TEST_NUM;
当然,可以使用enum进行赋值,而不用在类定义时赋值。如enum{TEST_NUM = 1}
3、形如max()函数,不用#define宏定义,改为模板加内置函数
如:template<class T>
inline const T& max(const T &a, const T &b)
{return a >b ? a :b; }
用好<iostream>少用<stdio.h>
前者对应类安全的cin,cout,主要可重载<<(>>)进行更加随心的输入、输出方式;后者对应scanf和printf,后者是非类安全的,且不能随意使用,但不能放弃。