August 2021
Intermediate to advanced
450 pages
6h 57m
Chinese
操纵内存的函数通过void*指针(const void*用于只读内存)对“裸内存”(类型未知)进行操作:
注意,malloc()等函数并不调用构造函数,free()也不会调用析构函数。不要对具有构造函数和析构函数的类型使用这些函数。而且,memset()也不应该用于具有构造函数的任何类型。
注意,realloc(p,n)若发现所需内存量超出了从p开始的区域大小,它会重新分配(即拷贝)从p开始保存的数据,例如:
我希望你能指出这段代码中的糟糕错误:如果调用了realloc(),current_word可能(也可能不,如果未重新分配的话)指向p的当前存储区域之外的位置。
大多数情况下使用vector(见31.4.1节)比realloc()更好。
mem*函数可在<cstring>中找到,分配函数在<cstdlib>中。
Read now
Unlock full access