相关疑难解决方法(0)

语言比C++更快

据说Blitz ++提供了近Fortran性能.

对于等效任务,Fortran实际上往往比常规C++更快吗?

那些具有出色运行时性能的其他HL语言呢?我听说过几种语言在某些任务中使用C++ ... Objective Caml,Java,D ...

我猜GC可以更快地编写代码,因为它不需要在堆栈周围进行过多的复制?(假设代码不是为了性能编写的)

我是出于好奇而问 - 我一直认为C++几乎是无与伦比的专家ASM编码.

c++ performance programming-languages

21
推荐指数
4
解决办法
2万
查看次数

在C++ 11中的一个表达式中双重赋值相同的变量

C++ 11标准(5.17,expr.ass)表明了这一点

在所有情况下,在右和左操作数的值计算之后,以及在赋值表达式的值计算之前,对赋值进行排序.对于不确定序列的函数调用,复合赋值的操作是单个评估

据我了解,作为给定赋值的一部分的所有表达式将在赋值本身之前进行求值.即使我在同一个赋值中修改了两次相同的变量,这条规则也应该有效,我相当肯定,之前是未定义的行为.

请问代码:

int a = 0;
a = (a+=1) = 10;

if ( a == 10 ) {
    printf("this is defined");
} else {
    printf("undefined"); 
}
Run Code Online (Sandbox Code Playgroud)

总是评价到a==10

c++ variable-assignment expression-evaluation operator-precedence c++11

11
推荐指数
2
解决办法
2599
查看次数