如何通过对指针地址的一些意外修改来保护字符指针
可以使用常量字符指针(const char*)通过意外修改指针地址来保护字符指针。 它可以防止对字符串中的指针地址进行不必要的修改。
new和malloc的区别?
属性:new/delete是C++关键字,需要编译器的支持,malloc/free是库函数需要头文件的支持。
参数:使用new操作符申请内存分配时无需指定内存块的大小,编译器会根据类型的信息自行计算。然而malloc则需要显式的指出所需内存的尺寸。
返回类型的安全性:new操作符内存分配成功时,返回的是对象类型的指针、类型严格与对象匹配,无需进行类型转换,因此new是符合类型安全性的操作符。malloc内存分配成功返回的是 void *类型的指针,需要通过强制的类型转换将指针转换成所需要的类型。