繁体   English   中英

初始化 arrays 对 C++ 性能有显着影响吗?

[英]Does initializing arrays have a significant effect on C++ performance?

我正在尝试将 4000+ 行的遗留 C++ 代码块分解为单独的函数。 在function开头,声明了很多char arrays。 相同的 arrays 以完全不同的方式用作数据缓冲区,例如:

char array[4];
strcpy(array, "foo");
//something with foo
strcpy(array, "bar");
//something with bar

我想把这些分成

void foo() {
    char foo[4];
    strcpy(foo, "foo");
    //something with foo
}

void bar() {
    char bar[4];
    strcpy(bar, "bar");
    //something with bar
}

但是性能在这里很重要,我想知道是否初始化更多的 arrays 可能会对速度产生负面影响。 (显然我不会粘贴 4000 行代码)。

初始化 arrays 对 C++ 性能有显着影响吗?

人们无法做出适用于所有程序的普遍概括。 但在小型 arrays 的情况下:初始化很少有显着成本。 您可以通过测量来发现成本在您的计划中是否显着。

默认初始化一组琐碎的对象 - 例如在您的示例中 - (通常)根本没有开销。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM