我在网上搜索相关知识的过程中,看到了一篇非常好的文章。倒不是写得很好,而是他博客的网站设计很好,很多网页特效。特地附上:
夜归人
好,那么下面我们进入正题:
因为C语言没有new这个操作符,所以必须使用malloc函数。
到了C++这边,有了 new 就可以大大简化了。
先声明:1.文件必须先保存成 .cpp
————2.c语言在程序最后要free
一下,释放指针。但是在C++中,需要用到delete[]
,然后再置空一下。
c语言中
long *pNumber = (long*)malloc(sizeof(long) * 1000000);
等价于C++中
long* pNumber = new long[1000000];
一个例子:
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
struct child{
int age;
string name;
};
int main()
{
char* p = (char*)malloc(8);
free(p);
//动态的分配内存空间
//new
child* p = new child; //
//child* p = (child*)malloc(sizeof(child));
p->age = 12;
p->name = "小明";
cout << "p->age:\t" << p->age << endl;
cout << "p->name:\t" << p->name<< endl;
//cout << sizeof(*p) << endl;
delete p; //释放
p = NULL;
return 0;
}
下面还有两位大神的进阶版整理内容:
C ++中的new操作运算符!
C 中 new 的用法