![]() |
1
4
我不知道怎么做。为什么更容易分析和编译
Java编译器禁止不可访问的代码(与没有影响的代码相反),这对程序员来说是一种混合的祝福,并且需要比编译器实际需要做的额外工作(基本块依赖性分析)。C++应该禁止不可达代码吗?可能不是。尽管C++编译器确实做了足够的优化来识别不可到达的基本块,但在某些情况下,它们可能做得太多。应该
荷载。例如,如果
我认为,其基本原理是,如果它扩展到了零,那么(a)编译器最终会对如下内容发出警告
无论如何,现在太晚了。即使我们有一些巨大的洞察力,C++0X委员会已经错过了,为什么一些特性应该被移除或者不兼容地改变,他们不会在FCD中打破任何东西,除非FCD最终是错误的。 请注意,对于所有的建议,任何编译器都可以发出警告(实际上,我不理解第二个例子中的问题是什么,但肯定是无用的表达式和函数体中的解析)。如果你是对的,没有人故意这样做,警告不会造成伤害。如果你错了,没有人故意这样做,那么你所说的删除它们的理由是不正确的。流行编译器中的警告可能会为删除某个功能铺平道路,特别是因为该标准主要由编译器编写者编写。事实上,我们并不总是收到这些事情的警告,这向我表明,它有比你想象的更多。 |
![]() |
2
8
可能是因为禁止这样做会使规范更加复杂,这会使编译器更加复杂。 |
![]() |
3
3
|
![]() |
4
0
|
![]() |
5
0
作为C++标准的一个迭代,C++ 0x必须向后兼容。没有人可以断言,你写的声明不存在于某个关键软件中,比如说,NASA或国防部。
不管怎样,关于你的第一个例子
分析器
不能断言
|
![]() |
6
0
可能是因为操作员超载而产生的副作用
|
![]() |
7
0
没有副作用的表达式在模板化和宏代码中出现的频率可能比您想象的要高。如果你曾经声明
|
![]() |
apetrai · 我应该如何假设算法使用哪种迭代器类别? 3 年前 |
![]() |
ridiculous_fish · std::是否保证短路? 3 年前 |
![]() |
Fabio · 在c中将指针赋给常数指针++ 3 年前 |
![]() |
johnco3 · 初始化固定C数组成员结构 7 年前 |
![]() |
mans · 为什么出现此错误:constexpr在此处无效 7 年前 |
![]() |
juztcode · 在C++中尝试捕获-创建了多少个对象 7 年前 |
![]() |
Steven Scott · 忽略元素的基于范围的for循环 7 年前 |