c – 将现有阵列归零的最快方法是什么?

c – 将现有阵列归零的最快方法是什么?,第1张

概述我有一个现有的1D阵列,是memset以零的最快方式吗? 最快…可能是的. 越野车几乎可以肯定! 它主要取决于实现,平台和……数组包含的类型. 在C中,当定义变量时,将调用其构造函数.定义数组时,将调用所有数组元素的构造函数. 擦除内存可以被认为是“好的”仅适用于已知数组类型具有可以由全零表示的初始状态并且默认构造函数不执行任何 *** 作的情况. 对于内置类型,这通常是正确的,但对于其他类型也是如此. 我有一个现有的1D阵列,是memset以零的最快方式吗?解决方法 最快…可能是的.
越野车几乎可以肯定!

它主要取决于实现,平台和……数组包含的类型.

在C中,当定义变量时,将调用其构造函数.定义数组时,将调用所有数组元素的构造函数.

擦除内存可以被认为是“好的”仅适用于已知数组类型具有可以由全零表示的初始状态并且默认构造函数不执行任何 *** 作的情况.

对于内置类型,这通常是正确的,但对于其他类型也是如此.

最安全的方法是使用默认的初始化临时值分配元素.

template<class T,size_t N>voID reset(T* v){    for(size_t i=0; i<N; ++i)         v[i] = T();}

请注意,如果T为char,则函数将实例化并完全转换为memset.所以速度相同,不多也不少.

总结

以上是内存溢出为你收集整理的c – 将现有阵列归零的最快方法是什么?全部内容,希望文章能够帮你解决c – 将现有阵列归零的最快方法是什么?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1214425.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-05
下一篇2022-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存