输出:
a:12, b:1, c:12
a:11, b:1, c:11
宏替换使得(++a)被运算两次,也就产生了错的结果,而函数模板中参数只被计算一次,避免了这种情况。
利用宏定义实现函数的模板是不安全的,但是它效率高些。
利用C++的函数模板来实现更安全些。
输出:
a:12, b:1, c:12
a:11, b:1, c:11
宏替换使得(++a)被运算两次,也就产生了错的结果,而函数模板中参数只被计算一次,避免了这种情况。
利用宏定义实现函数的模板是不安全的,但是它效率高些。
利用C++的函数模板来实现更安全些。