我看到@GMan为可变参数模板实现了a version of sizeof...
,据我所知,它等同于内置的sizeof...
。这不符合第二个设计原则:prefer libraries to language extensions?
答案 0 :(得分:7)
来自Variadic Templates (Revision 3) (N2080=06-0150),第6页:
虽然不是绝对必要的(我们可以在没有此功能的情况下实现
count
),但检查参数包的长度是一个值得使用简单语法的常见操作。此外,当可变参数模板与概念组合时,此操作可能成为类型检查原因所必需的;见3.3节。
(第3.3节讨论现在无关紧要的概念。)
答案 1 :(得分:4)
sizeof...
只是糖。
sizeof
确实是...
语言的核心,虽然可能存在countof
函数,但我们已经保留sizeof
和...
,所以我们也许这样可以方便地计算。
相反,如果没有保留sizeof
和...
,那么添加这样的东西的想法可能会失败,因为新的关键词往往不受欢迎。 (越少越好。)