new
c++中通过new进行动态内存申请(分配的内存在堆空间,堆是程序通过调用malloc或new分配,调用free或delete释放)
delete用于释放空间
/*new 和 malloc函数的区别*/
1.new是一个C++中的一个关检词
malloc是C库中提供的一个函数
2.new以具体类型为单位分配内存 如new int和new char所分配的内存是不同的
malloc是以字节为单位进行动态申请 如:malloc(10)//10个字节的大小
3.new在申请变量的时候可以进行初始化 如:int* p=new int(1)
malloc不具备初始化的特性
new变量申请的格式
/* 变量申请 申请变量并初始化*/
int* p=new int int* p=new int(1) //申请的空间大小为sizeof(int) 等价 malloc(sizeof(int))
int* p=new int[n] int* p=new int[2]{1,2}//申请的空间大小为n*sizeof(int)
...
使用完用delete删除
delete p //普通变量
delete[] p //数组
namespace
1.在C语言中只有一个全局作用域,所有全局变量共用一个作用域
2.c++中有了命名空间的概念、
命名空间将全局作用域分为不同的部分
不同命名空间的标识符可以同名不冲突
命名空间可以相互嵌套
namespace name
{
//int varible;
namespace aaa
{
}
}
using namespace name; //使用整个命名空间
using name::varible; //使用命名空间内的变量
::varible //使用默认命名空间的变量