例如 -
#include <memory>
int main(){
const auto bufSize = 1024;
auto buffer = std::make_unique<char[]>(bufSize);
}
这里的缓冲区是否已经填充了 '\0'
字符,或者我必须手动填充它以避免垃圾值。
这样做的可能方法是什么, std::memset(&buffer.get(), 0, bufSize)
就足够了吗?
原文由 Abhinav Gauniyal 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您不提供构造函数参数,则所有
make_*
函数都会对类型使用值初始化。由于make_unique
的数组形式不带任何参数,它会将元素清零。