1、C++中的新成员。
1、动态内存分配。
1、C++中动态内存分配。
2、C++中通过 new 进行动态内存申请。
3、C++中的动态内存申请是基于类型进行的。
4、delete关键字是用来内存释放的。
2、变量申请:
Type *pointer = new Type;
//...
delete pointer;
3、数组申请
Type *pointer = new Type[n];
delete[] pointer;
4、new 关键字与 malloc函数的区别。
1、new 是C++的一部分。
2、malloc 是C库提供的函数。
3、new 以具体类型为单位分配内存。
4、malloc 以字节为单位分配内存。
5、new 在申请单个类型变量的时候可以进行初始化。
6、malloc 不具备内存初始化的特性。
7、new 关键字的初始化。
1、int *pi = new int(1);
2、float *pf = new float(2.0f);
3、char *pc = new char('c');
5、C++中的命名空间。
1、在C语言中只有一个全局作用域。
2、C语言中所有全局标识符共享同一个作用域。
3、标识符之间可能存在冲突。
4、C++中出现了命名空间的概念。
5、命名空间将全局作用域分成了不同的部分。
6、不同命名空间的标识符可能同名但是不会发生冲突。
7、命名空间可以相互嵌套。
8、全局作用域也叫做默认命名空间。
9、命名空间的定义:
namespace Name
{
namespace Internal
{
}
}
10、命名空间的使用:
1、使用整个命名空间:using namespace name;
2、使用命名空间中的变量:using name::varible;
3、使用默认命名空间中的变量: ::varible。
小结:
1、C++中内置了动态内存分配的专用关键字。
2、C++动态内存分配的同时可以进行初始化。
3、C++的动态内存分配是基于类型的。
4、C++中的命名空间可以解决标识符冲突的问题。