哪种优化方式更好?
1)
{
int a[100] = {0};
}
或2)
{
int a[100];
memset(a,0,100);
}
两种方法生成的汇编代码有多少条指令不同?
最佳答案
它们通常编译为相同的汇编代码,特别是在打开优化的情况下,或者使用简单的循环(例如 rep stos
)。
但是,这取决于上下文:您通常甚至不需要(尽管您这么认为)将数组归零。
我肯定更喜欢第一个版本,因为它不太容易出错,并且(恕我直言)清楚地表明了您的意图。
关于c - 在使用 0 和 memset 初始化之间进行优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27547752/