自己写小项目是发现一个问题。
#define BUFFER_SIZE 1024 * 1024
@1. char *pbuffer1 = new char(BUFFER_SIZE);
@2. char *pbuffer2 = (char *)malloc(sizeof(char) * BUFFER_SIZE);
在linux下编译时,使用1出现一个警告(overflow in implicit ....),而使用2确完全正常。
这是为什么,来个详细解答?
自己写小项目是发现一个问题。
#define BUFFER_SIZE 1024 * 1024
@1. char *pbuffer1 = new char(BUFFER_SIZE);
@2. char *pbuffer2 = (char *)malloc(sizeof(char) * BUFFER_SIZE);
在linux下编译时,使用1出现一个警告(overflow in implicit ....),而使用2确完全正常。
这是为什么,来个详细解答?
new是c++语法,它的分配应该是
char *pbuffer1 = new char[BUFFER_SIZE];