sizeof() 计算字符串的长度,包含末尾的 '\0',strlen() 计算字符串的长度,不包含字符串末尾的 '\0'。...更多详细有关C语言动态内存管理的知识可以移步:【C语言】内存的动态分配与释放
在C++中,动态内存的管理是通过一对运算符来完成的:
new,在动态内存中为对象分配空间并返回一个指向该对象的指针...使用new动态分配和初始化对象
在堆空间分配的内存是无名的,因此new无法为其分配的对象命名,而是返回一个指向该对象的指针:
int* pi = new int;//pi指向一个动态分配的...当我们想要构造多个对象时,我们只需要在类型后面加上:[个数],就可以了,如:
int* pia = new int[10];
默认情况下,动态分配的对象是默认初始化的,这意味着内置类型或组合类型的对象的值将是未定义的...,如果我们想要在动态分配时就直接将空间初始化,则需要使用传统的构造方式(使用圆括号),如:
int* p = new int(5); //p指向的对象的值为5
当我们想要一次性初始化数组的多个对象时