Update 02-usability.md#43
Conversation
移除可疑的冗余描述。
| `nullptr` 出现的目的是为了替代 `NULL`。在某种意义上来说,传统 C++ 会把 `NULL`、`0` 视为同一种东西,这取决于编译器如何定义 NULL,有些编译器会将 NULL 定义为 `((void*)0)`,有些则会直接将其定义为 `0`。 | ||
|
|
||
| C++ **不允许**直接将 `void *` 隐式转换到其他类型(换句话说,`void *` 并不属于 C++ 语言的一部分)。但如果编译器尝试把 `NULL` 定义为 `((void*)0)`,那么在下面这句代码中: | ||
| C++ **不允许**直接将 `void *` 隐式转换到其他类型。但如果编译器尝试把 `NULL` 定义为 `((void*)0)`,那么在下面这句代码中: |
There was a problem hiding this comment.
请给出 void * 在 11/14/17 中存在的具体证据。
|
因为 按 ISO C++ 的核心语言规则(core language rules) ,记号组合 (另外, |
如果此 PR 修复的是一个逻辑表述问题,那么 如果我们在讨论 |
|
我仍然不理解“属于”具体指的是什么,因为我能想到的各种解释都是技术上不成立和/或不着边际的。 如果单指字面上在标准原文的话,那么毫无疑问 http://eel.is/c++draft/basic.def.odr#11.6
再考虑 |
|
补充:上述草案链接在 ISO C++17 对应 [basic.def.odr]/5.6 一段。 |
|
非常感谢指出文中的错误! |
移除可疑的冗余描述。
从 #41 的第二个问题中剥离。因为仍不十分清楚原意,只是回避可能引起疑问的说法;其它细节待确认。
resolve #41