在分配值后,在C++中清除固定char数组的内容

Joh*_*ton 2 c++ arrays char clear

嗨,我有以下代码:

char msg[10000];
string mystr = "hello";
// stores mystr into msg
copy(mystr.begin(), mystr.end(), msg);
Run Code Online (Sandbox Code Playgroud)

代码复制后,我想清除char msg [10000]的内容.我怎么做?

Joh*_*itb 6

使用现代化设施

std::array<char, 10000> msg;

string mystr = "hello";
// stores mystr into msg
copy(mystr.begin(), mystr.end(), msg.begin());

// then clear it again
msg = {{}};
Run Code Online (Sandbox Code Playgroud)

不知道你为什么要先复制它然后清除它,但这就是你可以做到的.你可以说,没有C++ 11通用初始化器

msg = std::array<char, 10000>();
Run Code Online (Sandbox Code Playgroud)

当然,你可以随时使用boost::array,而不是std::array,它的工作原理是相同的.