C++ 什么';s带memset的char[]与c+中的char[]之间的区别+;
正如我所知,当我分配大小为200000的C++ 什么';s带memset的char[]与c+中的char[]之间的区别+;,c++,memory,constructor,initialization,C++,Memory,Constructor,Initialization,正如我所知,当我分配大小为200000的char[]并希望初始化整个缓冲区为零时。我有两种方法: const size_t SZ_LARGE_BUF = 200000; char*largeBuf=新字符[SZ_LARGE_BUF];memset(blabla) char*largeBufWithInit=新字符[SZ_LARGE_BUF]() 但问题是,当我在linux中运行第二个代码时,它总是会卡住,但在windows VS2010中编写相同的代码是可以的。第一个代码在Linux和Wind
char[]
并希望初始化整个缓冲区为零时。我有两种方法:
const size_t SZ_LARGE_BUF = 200000;
char*largeBuf=新字符[SZ_LARGE_BUF];memset(blabla)代码>
char*largeBufWithInit=新字符[SZ_LARGE_BUF]()代码>
我想知道
memset
和init语法
之间是否有任何区别?忘记它们,使用std::vector largeBuf(200000)代码>。更简单、更干净——在Windows和Linux上都可以正常工作。谢谢,我将尝试vector,我在中找到了关于这一点的说明,但没有任何信息说明为什么new char[200000]()
stucked。我还有一个问题要问你:如果不是200000而是200,我应该使用vector
还是char[200]
?我会使用vector
,几乎不考虑大小。