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 Примечания
Решения для этого включают
std::fill
с volatile указателями,
(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 См. также
| |||||||||||||||||||||||||