C++ 报错 R6030 CRT not initialized

news/2024/7/3 12:29:17 标签: c++, CRT not initialized, windows, new, delete

昨天,在写一个算法的时候,报错R6030 CRT not initialized

认真检查发现,是出了比较低级的错误。

一、

会出错的代码,编译的时候不会报错,执行过程中报R6030 CRT not initialized

代码一:

int *a= new int[];//这个是没有指定大小

for(int i=0; i<ncount; i++)

{

    //对a[i]进行操作

}


//delete[] a;//会报错。


代码二:

int *a= new int;//其实分配了一个int内存。

for(int i=0; i<ncount; i++)

{

    //对a[i]进行操作

}

//delete[] a;//会报错。


这2种处理后,a[]可以达到你想要的效果,比如排序。

但在退出的时候,会R6030 CRT not initialized


二、理论知识:

一>new用法:

1.  开辟单变量地址空间
1)new int;  //开辟一个存放数组的存储空间,返回一个指向该存储空间的地址.
    int *a = new int 即为将一个int类型的地址赋值给整型指针a. 
2)int *a = new int(5) 作用同上,但是同时将整数赋值为5
2.  开辟数组空间
一维: int *a = new int[100];开辟一个大小为100的整型数组空间
二维: int **a = new int*[5]
 for()
{a[i] = new int[6];}
三维及其以上:依此类推.
         一般用法: new 类型 [初值]
delete用法:
          1. int *a = new int;
               delete a;   //释放单个int的空间
          2.int *a = new int[5];
               delete [] a; //释放int数组空间
 
要访问new所开辟的结构体空间,无法直接通过变量名进行,只能通过赋值的指针进行访问.
newdelete可以动态开辟,撤销地址空间.在编程序时,若用完一个变量(一般是暂时存储的数组),
下次需要再用,但却又想省去重新初始化的功夫,可以在每次开始使用时开辟一个空间,在用完后撤销它.
          
一定要先知道N、M,才可以分配。


三、正确的代码

int *a= new int[N];//这里一定要想办法知道N的大小。

for(int i=0; i<ncount; i++)

{

    //对a[i]进行操作

}


delete[] a;//与new[]对应。

a=NULL;


转载请注明原创链接:http://blog.csdn.net/wujunokay/article/details/12041699





http://www.niftyadmin.cn/n/951344.html

相关文章

linux 获取ip java_linux获取网卡的ip

比如我想要获取eth0这块网卡的ip 有如下两个命令&#xff1a;ifconfig eth0 | grep inet | grep -o -E \([0-9]\.\){3}[0-9] | head -n 1ifconfig eth0 | grep inet | grep -o -P \(\\d.\){3}\\d | head -n 1其原理就是采用的grep正则表达式获取ip注意这个地方有知识点是关于gr…

工作那些事(二)应聘时填写个人信息ABCD

先看看都有那些&#xff1a; 公司A&#xff1a; 填写来访人员登记表&#xff08;在前台的那种&#xff09;&#xff0c;内容包括&#xff1a; 姓名、时间、电话、职位。 公司B&#xff1a; 填写来访人员登记表&#xff08;在前台的那种&#xff09;&#xff0c;内容包括&am…

blockingqueue java_Java BlockingQueue

Java BlockingQueue在本教程中&#xff0c;我们将学习Java BlockingQueue接口及其方法。Java Collections框架的BlockingQueue接口扩展了Queue接口。它允许任何操作等待&#xff0c;直到成功执行。例如&#xff0c;如果我们要从空队列中删除元素&#xff0c;则阻塞队列允许删除…

字符串处理算法(三)按指定位置交换字符串两部分的位置

实现一个函数&#xff1a;按指定位置交换字符串两部分的位置 比如&#xff1a;函数输入("abcde", 2) 输出"cdeab" 题目的意思应该比较明白&#xff0c;代码实现如下&#xff1a; int SwapStr(char* input, int pos) {char* p inputpos;int nLen strlen…

java arraylist 拷贝数据_Copy ArrayList的四种方式

Copy ArrayList的四种方式简介ArrayList是我们经常会用到的集合类&#xff0c;有时候我们需要拷贝一个ArrayList&#xff0c;今天向大家介绍拷贝ArrayList常用的四种方式。使用构造函数ArrayList有个构造函数&#xff0c;可以传入一个集合&#xff1a;public ArrayList(Collect…

java sql 模板_JFinal新版sql模板有两种Template的调用方式,你学会了吗?

最近JBolt项目中升级到了最新版JFinal&#xff0c;很平滑&#xff0c;改了个版本号轻松完成。昨天&#xff0c;突然想起JFinal的新版ChangeLog中提到了Model Db里都增加了关于Sql模板更方便的书写调用方式。所以&#xff0c;JBolt开发平台里&#xff0c;底层BaseService里关于S…

整型数组处理算法(三)把一个数组里的所有元素,插入到另一个数组的指定位置

实现一个函数&#xff1a;把一个数组里的所有元素&#xff0c;插入到另一个数组的指定位置。 比如&#xff1a; 函数输入&#xff08;[2,5,3,4,7,0],2,[8,9,6]&#xff09;&#xff0c;输出[2,5,8,9,6,3,4,7,0]。 方法一、使用vector /* 参数说明&#xff1a; vec_a&#xf…

工作那些事(三)什么样的公司能吸引你,什么样的公司适合你?

什么样的公司能吸引你&#xff1f; 换句话说&#xff0c;在众多给你offer的公司中&#xff0c;影响你决定&#xff0c;让你徘徊和犹豫的有那些因素呢&#xff1f;关于这些谈谈我自己的想法&#xff0c;欢迎大家来点评。 在众多公司中&#xff0c;我首先考虑的是公司给的薪资待遇…