【发布时间】:2021-03-23 14:43:38
【问题描述】:
鉴于 memset 只能用于初始化值为 0 或 -1 的整数数组,您使用它进行零初始化的原因是什么。它的功效仅仅在于字符串初始化吗?
array[10];
memset(array,0,sizeof(array));
array[10]={0};
后一种方式不是更好吗?
【问题讨论】:
-
定义“总是”。事后可以做第二种形式吗?
-
如果这是针对 C 字符串的,你最好使用
std::string而不必担心这个。 -
memset只能使用值 0 或 -1 吗? -
注意功效!=效率。
-
一般来说,对于像这样简单的事情,编译器至少会做得和你一样好,而且通常会做得更好。