C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了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 – 将现有阵列归零的最快方法是什么?所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。