![]() |
1
34
我认为有一个更好的解释为什么可以这样做,而不是“因为标准是这么说的”: 它工作的原因是指向成员的指针是编译时已知的常量值(指向成员的指针实际上是成员从类开始的偏移量)。因此,它们可以用作模板的参数,就像任何其他整数常量一样。 另一方面,普通指针不是编译时常量,因为它们依赖于仅在运行时存在的内存布局。它们不能是模板参数。 |
![]() |
2
2
当你按照“为什么”这句话提问时 某物 工作吗?”它意味着它的工作对你来说是令人惊讶的。除非你解释,否则不可能回答这个问题。 为什么 你觉得很惊讶。 为什么工作?因为语言规范明确指出它应该起作用。没有其他答案,除非你更详细地解释你的担忧。 |
![]() |
Oded S · 带有运算符重载函数的c++17求值顺序 7 年前 |
![]() |
Menachem · 如何在解码Base64字符串时处理错误 7 年前 |
![]() |
EFanZh · 有符号整数和无符号整数之间的转换 9 年前 |
![]() |
nickcoxdotme · 关注点的角度和语义标记/分离 11 年前 |