我在C++中聲明一個有10萬個元素的int動態數組
在之後我會用for循環分別給每個元素賦上特殊的值
那麼我在聲明數組的時候,有使用下面這條語句的必要嗎?
int* example=new int[100000]{0};
這樣會不會消耗額外的時間?當數組容量足夠大的時候
賦值一定會消耗時間,編譯是先將A[0]賦值為0, 再調用memset初始化其他的數組元素.
不過memset一般上來說消耗時間不多。
就拿FOR循環賦值和memset做個對比。
耗時 for循環 memset
1000 0.016 0.017
10000 0.055 0.013
100000 0.443 0.029
1000000 4.337 0.291