D*******a 发帖数: 3688 | 1 比如boost.random有个class:
template
class variate_generator {...}
其中Engine是用来产生随机数的class,Distribution是用来转换到某个分布的class
为什么一定要用template,而不这样做呢?
class variate_generator {
engine_class& e;
distribution_class& d;
....
} |
d****2 发帖数: 6250 | 2 It is ok to have temporary short-circuit in the brain sometimes. Read the code again. |
P********e 发帖数: 2610 | 3 inheritance, reuse the object code
template, reuse the source code
【在 D*******a 的大作中提到】 : 比如boost.random有个class: : template : class variate_generator {...} : 其中Engine是用来产生随机数的class,Distribution是用来转换到某个分布的class : 为什么一定要用template,而不这样做呢? : class variate_generator { : engine_class& e; : distribution_class& d; : .... : }
|
y****e 发帖数: 23939 | 4 不错,所以用template在compile time多用了时间,但是run time就节约了时间
相比之下,run time的效率当然更重要
【在 P********e 的大作中提到】 : inheritance, reuse the object code : template, reuse the source code
|
D*******a 发帖数: 3688 | 5 自己找到了答案
http://en.wikipedia.org/wiki/Template_metaprogramming
【在 D*******a 的大作中提到】 : 比如boost.random有个class: : template : class variate_generator {...} : 其中Engine是用来产生随机数的class,Distribution是用来转换到某个分布的class : 为什么一定要用template,而不这样做呢? : class variate_generator { : engine_class& e; : distribution_class& d; : .... : }
|
f*******y 发帖数: 988 | 6 inheritance is not to reuse,but to be reused
【在 P********e 的大作中提到】 : inheritance, reuse the object code : template, reuse the source code
|