mobs001
mobs001
今天刚开始看这本书。第 2 章 语言可用性的强化,2.1 里写 nullptr ,描述为NULL具有很奇怪的简单的逻辑设计失误, 这个理由很反直觉,按理说 处理关键词 单纯是编译器的设计,如果不是为了兼容性,NULL在编译器层面很好处理, 我简单查了一下,网上更多的说法是 C++ 从前是为了保持了 C的兼容性 保持了 NULL的一致性,既然保持兼容性那NULL必然是保持一致的弱类型。 然后 后来权衡下引入了安全的类型nullptr, NULL作为遗留性继续兼容C。 感觉这就是单纯的决心增加类型安全性nullptr, 而不是在这点上保持与旧的C一致性的的选择问题。 和逻辑完全无关。 然后我又查了下后来的C23也开始增加了nullptr类型。不过并未进一步查询是否一定的原因是为了增加两种语言的兼容性。 文中举例的代码,在msvc下以cxx_std_20 编译 是可以通过的 ``` #include #include void...
### Before reporting, I have confirmed that - [X] This bug does not appear to be reported on [GitHub Issues](https://github.com/Minecraft-Transit-Railway/Minecraft-Transit-Railway/issues?q=is%3Aissue) before. - [X] This bug still exists in the latest...