gpt4 book ai didi

c++ - 赋值运算符 - 每个成员还是二进制拷贝?

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

我想知道,只要所有包含的赋值除了将二进制值传输到地址之外没有副作用,那么只将字节从源对象指针复制到目标而不是分配每个目标不是更有效吗成员到每个源成员?

作为一个子问题...我想知道读取模式如何影响内存 Controller 负载。显然,当 MC 从正确对齐的地址读取其全宽度时效率最高。也许将所有成员合并为一系列最大宽度数据类型以进行对齐会更有效,例如如果MC是64位,成员数据集是10字节,那么复制一个64位和一个16位的值,即使成员是10个char,所以这样复制会饱和MC 优于一次复制每个成员字符。

最佳答案

只要需要字节拷贝,编译器默认生成即可。
它也会自动优化它,如果效率最高,则使用 memcpy

作为额外的好处,如果您添加了一个具有更复杂(自包含)语义的成员,编译器仍然会做正确的事情。

如果你添加了一个不语义复制其数据的成员,你只需要自己进去做。

关于c++ - 赋值运算符 - 每个成员还是二进制拷贝?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23162408/

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