![]() |
1
4
我认为要回答这个问题,我们必须看看 N1601 由Herb Sutter和Bjarne Stroustrup提出。 有几个部分对我来说特别突出 4.10[转换.ptr]
和4.11[conv.mem]:
因此,如果通过
这是真的,原因很简单,但“为什么”更难理解。 原因:
鉴于此
为什么在N1601,Sutter和Stroustrup表示
事实上,这就是实际发生的事情。例如,Clang 3.9.0在stddef.h中有以下内容:
(而且他们说得对
这仍然无法解释 为什么? 它是这样定义的。要做到这一点,我认为我们需要回到更远的时间 N1488 也是由萨特和斯特劳斯特鲁普写的,他们说:
我认为这很好地解释了为什么;程序员需要一种方法来区分重载中的指针和整数值,因为
|
![]() |
Community wiki · safe_ptr实现 1 年前 |
![]() |
lplplplp · 为什么不能访问函数外的结构指针 2 年前 |
![]() |
Fabio · 在c中将指针赋给常数指针++ 2 年前 |
![]() |
Gabe Tucker · 无法在golang中分配接口对象指针 2 年前 |