原文
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
原始链接: https://news.ycombinator.com/item?id=43861669
Hacker News 的讨论围绕着 C++ 中 `constexpr` 的复杂性以及它与 D 和 Rust 等语言中的编译时计算的比较展开。Walter Bright 认为,D 语言的做法——只要遇到 `ConstExpression` 就进行编译时函数计算——比 C++ 显式的 `constexpr` 关键字更简单。一些用户反驳说,C++ 的显式方法能够更清晰地表达意图并防止意外中断。其他人则强调 C++ 的 `constexpr` 已经有了显著的改进,增加了诸如内存分配和就地 new 等功能。讨论还涉及编译器采用的缓慢、浮点数计算差异以及关于隐式特性与显式特性的持续争论。D 语言的用户指出它提供了更易于理解的语法。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
I don't understand why it is so complex in C++.
reply