_countof理解

VC中有一个计算数组元素个数的MACRO

template <typename T, size_t size>
char (*__countof_helper(T(&t)[size]))[size];

define _countof(_Array) sizeof(*__countof_helper(_Array))

 

解读如下:

比如传进去int a[10]的a,那么编译器如下推演:

typedef char (*CP)[10];
CP my__countof_helper(int t[10]);

这样写的目的我目前的理解是单纯为了避免传入指针影响逻辑。

 

By Lu Jun

80后男,就职于软件行业。习于F*** GFW。人生48%时间陪同电子设备和互联网,美剧迷,高清视频狂热者,游戏菜鸟,长期谷粉,临时果粉,略知摄影。

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.