用模板得到 C++ 数组大小
2010年4月21日
没有评论
用宏很容易实现这样的需求
#define ARRAY_SIZE(x) sizeof(x)/sizeof(x[0])但是宏总是会污染名字空间,不建议用,可以用模板很容易实现这个功能
template<typename T, size_t size> size_t ArraySize(T (&)[size]) { return size; }
用宏很容易实现这样的需求
#define ARRAY_SIZE(x) sizeof(x)/sizeof(x[0])但是宏总是会污染名字空间,不建议用,可以用模板很容易实现这个功能
template<typename T, size_t size> size_t ArraySize(T (&)[size]) { return size; }
为无理数
是有理数,即有整数a、b,
写成最简分数
,即a和b互质,且
,
必为偶数,故
亦是偶数
是偶数,所以
是偶数,b亦是偶数
是最简分数的假设矛盾
不是有理数,即是无理数 按照 ANSI C, C++ 标准,for 语句里定义的变量的作用域应该只在这个 for 语句内:比如:
for (int i=0; i<100; i++) {... }
但是有些编译器不符合这个标准,比如 VC 6,D3D HLSL,如果你要在几个不同的编译器下编译,就有毛病。
对于不符合标准的编译器,其实你可以这么做
#define for if (0) else for搞定。
Recent Comments