new和mallco在c++的用法
在C++中,new 和 malloc 是用于动态分配内存的两种不同的方法。
new:new是C++中的一个关键字,用于在堆上分配内存,并返回指向分配内存的指针。
示例:
int* ptr = new int; // 分配一个整数的内存空间
*ptr = 10; // 在分配的内存中存储值
delete ptr; // 释放分配的内存空间
在上面的示例中,使用 new 分配了一个整数的内存空间,并将值10存储在其中。最后,通过 delete 关键字释放了分配的内存空间。
malloc:malloc是C语言中的库函数,也可以在C++中使用。它用于在堆上分配一块指定大小的内存空间,并返回指向分配内存的指针。
示例:
int* ptr = (int*)malloc(sizeof(int)); // 分配一个整数的内存空间
*ptr = 10; // 在分配的内存中存储值
free(ptr); // 释放分配的内存空间
在上面的示例中,使用 malloc 分配了一个整数的内存空间,并将值10存储在其中。最后,通过 free 函数释放了分配的内存空间。
需要注意的是,new 和 malloc 的一些主要区别包括:
new是一个运算符,而malloc是一个函数。new分配的内存空间会调用相应类型的构造函数进行初始化,而malloc只是简单地分配一块内存空间,不会调用构造函数。new返回的是指定类型的指针,而malloc返回的是void*,需要进行类型转换
原文地址: http://www.cveoy.top/t/topic/iljo 著作权归作者所有。请勿转载和采集!