posts - 0,comments - 0,trackbacks - 0
关于_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)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航:   博客园   博客园最新博文   博问   管理