gpt4 book ai didi

c++ - 局部变量的声明和初始化——大多数 C++ 是什么样的?

转载 作者:太空宇宙 更新时间:2023-11-04 15:54:10 24 4
gpt4 key购买 nike

我还没有找到任何合适的问题的答案,所以我想知道在性能和/或内存方面“更好”的 C++ 风格是什么。

两个代码都在一个方法中。问题是:什么时候声明long prio?这意味着什么?

代码 1

while (!myfile.eof())
{
getline(myfile, line);
long prio = strtol(line); // prio is declared here
// put prio in map...
// some other things
}

代码 2

long prio; // prio is declared here
while (!myfile.eof())
{
getline(myfile, line);
prio = strtol(line);
// put prio in map...
// some other things
}

最佳答案

在这种情况下,性能没有差异。如果比较生成的代码,两种情况很可能是相同的。

我认为最常见的风格是声明变量尽可能接近它的第一次使用,但对于所有风格问题,“最好”可能是非常主观的。

正如其他人所提到的,如果可能的话,最好将每个变量限制在尽可能小的范围内。这样做可以降低变量在错误上下文中使用、被错误覆盖等的风险。它还减少了您为了找出变量的使用位置而需要阅读的代码量,这有助于理解代码。

延迟声明的一个优点是,对于像这样的情况,读取的值在主体的其余部分没有被修改,可以将其设为 const,这有助于清晰度和可读性。由于 const 变量在声明后不能赋值,所以这只适用于前一种风格。

关于c++ - 局部变量的声明和初始化——大多数 C++ 是什么样的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2605603/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com