![]() |
1
13
确实意味着
它的计算结果为零。
这只是编译,什么也不做。 另一方面
方法
导致编译错误。
它只是一个结构的声明,而不是它的定义。所以
|
![]() |
2
9
模板化结构专门化正在完成的临时对象创建-对构造函数的调用,以及稍后对析构函数的调用,这两个调用都有望被优化器消除,因为它们什么都不做。因为
|
![]() |
3
4
在表达式中
自从
然而,在
因为没有专门的
将被使用。但在这里,类型
因此,这被称为“static assert”,因为如果表达式的计算结果为
|
![]() |
4
2
嗯,我想是关于模板专业化的。static_assert(true)将成功编译,因为存在“static_assert<true>”的定义(而不仅仅是声明)。 静态断言(false)将被编译器拒绝,因为只有“static\u assert<false>”的声明,没有定义。 更新:对于Visual Studio,static_assert(true)正常,但static_assert(false)会触发错误:“错误C2514:static_assert<uuuuormal>”:类没有构造函数[with uormal=false] |
![]() |
C_Rod · 在模板方法中确定STL容器中项目的数据类型 2 年前 |
![]() |
chenyuandong · Elixir中的元编程 6 年前 |
![]() |
Marcos Felipe · 基于存储的变量进行比较 6 年前 |
![]() |
TheDelChop · 动态定义对象#为Ruby类初始化 6 年前 |
![]() |
Mathieu Van Nevel · 将结构拆分为元组[重复] 6 年前 |
![]() |
Jonathan Mee · 如何防止为未实现方法的对象生成模板 7 年前 |
![]() |
spring cc · 如何在python元编程中使用实例方法? 7 年前 |