std:: memset
|
ヘッダーで定義
<cstring>
|
||
|
void
*
memset
(
void
*
dest,
int
ch,
std::
size_t
count
)
;
|
||
値 static_cast < unsigned char > ( ch ) を count 個の先頭文字それぞれに dest が指すオブジェクトへコピーします。オブジェクトが 潜在的にオーバーラップする部分オブジェクト である場合、または TriviallyCopyable (例えば、スカラ型、C互換構造体、またはトリビアルコピー可能な型の配列)でない場合、動作は未定義です。 count が dest が指すオブジェクトのサイズを超える場合、動作は未定義です。
目次パラメータ
戻り値dest 注記
そのための解決策には、volatileポインタを用いた
std::fill
、
(C23)
memset_explicit()
、
(C11)
memset_s
、FreeBSDの
explicit_bzero
またはMicrosoftの
例
このコードを実行
#include <bitset> #include <climits> #include <cstring> #include <iostream> int main() { int a[4]; using bits = std::bitset<sizeof(int) * CHAR_BIT>; std::memset(a, 0b1111'0000'0011, sizeof a); for (int ai : a) std::cout << bits(ai) << '\n'; } 出力: 00000011000000110000001100000011 00000011000000110000001100000011 00000011000000110000001100000011 00000011000000110000001100000011 関連項目
| |||||||||||||||||||||||||