如果你想在C++中复制一个对象(在堆栈上),复制大对象会慢一些吗?是瞬间复制的对象,或者是字节迭代的方式复制数据的?:较大的对象是否较慢(C++)?
class Small {
public:
int stuff[32];
};
class Big {
public:
int stuff[1024];
};
...
Small small;
Big big;
Small small2 = Small(small); //Faster?
Big big2 = Big(big); //Slower?
很抱歉,但在现阶段,我没有时间来测试这一点。
不会有32个整数的数组需要128个操作,1024个需要4096个操作? – name 2014-11-07 01:40:12
'在使用现代处理器的情况下,大多数复制操作在复制或移动任何内容之前的时间为纳秒级,可能您仍然需要分配所需的内存,并且此操作是缓慢的,并且CPU无法执行太多了;你可以有一个超快的CPU和一个慢的'malloc',在这种情况下你会得到一个缓慢的程序。 – user2485710 2014-11-07 01:42:07
@name“operation”在这里只是作为一个通用术语,我认为,不是一个具体的单位,比如时钟周期。 – 2014-11-07 01:42:12