Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 什么';s链式赋值的性能含义_C++_C - Fatal编程技术网

C++ 什么';s链式赋值的性能含义

C++ 什么';s链式赋值的性能含义,c++,c,C++,C,我有2个Reset()函数。与[1]相比,[2]是否有任何性能影响 [1] [2] 一如往常,当事情重要时,你应该以经验来检验它们,而不是仅仅依靠理论推理 然而,在本例中,我可以想象这两个代码片段在编译后变得相同,因此没有区别 。。。至少在典型案例中是这样。例如,如果变量的类型具有 给它赋值是便宜的 从该类型的另一个实例复制是昂贵的 然后,除非优化器足够聪明,否则您可能会认为链式分配要昂贵得多 (反之,如果赋值一个整数很昂贵,但复制赋值很便宜)几乎可以肯定没有区别,因为编译器是半正常的。但最

我有2个
Reset()
函数。与[1]相比,[2]是否有任何性能影响

[1]

[2]


一如往常,当事情重要时,你应该以经验来检验它们,而不是仅仅依靠理论推理

然而,在本例中,我可以想象这两个代码片段在编译后变得相同,因此没有区别

。。。至少在典型案例中是这样。例如,如果变量的类型具有

  • 给它赋值是便宜的
  • 从该类型的另一个实例复制是昂贵的
然后,除非优化器足够聪明,否则您可能会认为链式分配要昂贵得多


(反之,如果赋值一个整数很昂贵,但复制赋值很便宜)

几乎可以肯定没有区别,因为编译器是半正常的。但最终这取决于很多事情。什么类型、什么硬件等@Kenny Lim编译器可以为这两个函数生成相同的目标代码。:@Kenny Lim首先测量,然后询问可疑的东西!
void Reset(){
  _a = 0;
  _b = 0;
  _c = 0;
  _d = 0;
}
void Reset(){
  _a = _b = _c = _d = 0;
}