gpt4 book ai didi

c++ - 为数组赋值时是否存在性能差异

转载 作者:行者123 更新时间:2023-11-30 20:48:00 24 4
gpt4 key购买 nike

int i=0;
a[i] =3;
i++;

Vs

int i=0;
a[i++]=3;

这只是一种编写代码和节省行数的奇特方式,还是确实提高了性能?

最佳答案

使用https://godbolt.org/ ,启用优化的 GCC 会为这两种情况生成相同的代码。

main:
sub rsp, 8
mov esi, 3
mov edi, OFFSET FLAT:std::cout
call std::basic_ostream<char, std::char_traits<char> >::operator<<(int)
xor eax, eax
add rsp, 8
ret
_GLOBAL__sub_I_main:
sub rsp, 8
mov edi, OFFSET FLAT:std::__ioinit
call std::ios_base::Init::Init()
mov edx, OFFSET FLAT:__dso_handle
mov esi, OFFSET FLAT:std::__ioinit
mov edi, OFFSET FLAT:std::ios_base::Init::~Init()
add rsp, 8
jmp __cxa_atexit

注意:gcc 已优化 std::cout << a[0]std::cout<<3

关于c++ - 为数组赋值时是否存在性能差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50624629/

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