Tag: 放置

为什么printf只有一个参数(没有转换说明符)不推荐使用?

在我正在阅读的一本书中,写了带有一个参数(不带转换说明符)的printf被弃用。 它build议替代 printf("Hello World!"); 同 puts("Hello World!"); 要么 printf("%s", "Hello World!"); 有人可以告诉我为什么printf("Hello World!"); 是错的? 它是写在书中,它包含漏洞。 这些漏洞是什么?

安置新的和删除

什么是正确的方法来删除这里分配的所有内存? const char* charString = "Hello, World"; void *mem = ::operator new(sizeof(Buffer) + strlen(charString) + 1); Buffer* buf = new(mem) Buffer(strlen(charString)); delete (char*)buf; 要么 const char* charString = "Hello, World"; void *mem = ::operator new(sizeof(Buffer) + strlen(charString) + 1); Buffer* buf = new(mem) Buffer(strlen(charString)); delete buf; 或者他们都是一样的?