据我所知,当我分配大小为200,000的char[]
时,想要将整个缓冲区初始化为零。我有两种方式:
const size_t SZ_LARGE_BUF = 200000;
char *largeBuf = new char[SZ_LARGE_BUF]; memset(blablabla);
char *largeBufWithInit = new char[SZ_LARGE_BUF]();
但问题是,当我在linux中运行第二个代码时,它总是卡住,但在Windows VS2010中编写相同的代码是可以的。第一个代码在Linux和Windows中都可以。
我想知道memset
和init syntax
之间是否存在差异?