关于_countof中的实现可以参考
http://blogs.msdn.com/b/the1/archive/2004/05/07/128242.aspx
不过之所以_countof可以调用没有函数体的模板函数,是因为sizeof的所有操作都是在编译期间完成的,并为实际进行实际
的函数调用。例如下面例子:
template <typename T, size_t N>
int* fun(const T (&array)[N]);
int array[100];
int x = sizeof((fun(array), array));
std::cout<<typeid(fun(array), array).name()<<std::endl;
程序的执行为:

可以看出:并没有具体的调用fun的实现,fun的实现调用应该发生在程序的执行期间
posted on 2012-11-10 19:51
blacktears 阅读(145)
评论(0) 编辑 收藏 引用