Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 什么';s带memset的char[]与c+中的char[]之间的区别+;_C++_Memory_Constructor_Initialization - Fatal编程技术网

C++ 什么';s带memset的char[]与c+中的char[]之间的区别+;

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

正如我所知,当我分配大小为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和Windows中都可以


    我想知道
    memset
    init语法
    之间是否有任何区别?

    忘记它们,使用
    std::vector largeBuf(200000)。更简单、更干净——在Windows和Linux上都可以正常工作。谢谢,我将尝试vector,我在中找到了关于这一点的说明,但没有任何信息说明为什么
    new char[200000]()
    stucked。我还有一个问题要问你:如果不是200000而是200,我应该使用
    vector
    还是
    char[200]
    ?我会使用
    vector
    ,几乎不考虑大小。