当前位置:   article > 正文

全局数组怎么定义_c++数组使用——配套测试记录

c++设置全局数组

测试时经验总结:

1.数组长度超过1百万,不能存储在栈上,容易内存溢出。存为全局变量,存在堆上;

内存分为栈内存,堆内存,全局区,常量区,代码区。

栈内存存储的都是局部变量。由操作系统管理,程序一旦离开作用域,就会释放变量。栈的大小有限制,常见的是1M或2M大小,因此非常容易超出;

堆内存存储的是对象,凡是new建立的都在堆中,堆内的数据由用户释放。堆的大小基本无限制,但得注意释放内存。

全局区存储的是全局变量和静态变量。

2.内存直接操作,是比赋值快的,使用循环的方式赋值,速度显著的慢;

函数有memcpy(),memmove(),memset()

void *memcpy(void *dst,void const *src,size_t length)

void *memmove(void *dst,void const *src,size_t length),效率慢于memcpy,但可以处理拷贝的两端内存重叠的问题。

void *memset(void *a,int ch,size_t length),把从a开始的length个字节设置成字符值ch,可以初始化字符数组。

结果显示,操作内存也没快多少,快了1ms左右。

1.数组快速初始化方法

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/44382
推荐阅读
相关标签
  

闽ICP备14008679号