public static member function
<string>

std::char_traits::assign

character (1)
static void       assign (char_type& r, const char_type& c);
array (2)
static char_type* assign (char_type* p, size_t n, char_type c);
character (1)
static void       assign (char_type& r, const char_type& c) noexcept;
array (2)
static char_type* assign (char_type* p, site_t n, char_type c);
Assign character
c 赋值给一个字符 (r) 或一个字符数组 (s)。

(1) character
c 赋值给 r, 相当于使用r=c.
(2) array
c 赋值给 s 指向的数组中的前 n 个字符,相当于使用operator=.

char_traits 的标准特化中,此函数的行为与内置的行为相同operator=,但自定义的 *字符特征* 类可以在与其字符类型的赋值操作一致的情况下提供替代行为。

参数

r
字符的左值引用。
c
一个字符值。
p
指向将要写入字符的数组的指针。
n
要用 c 的值填充的字符数。

成员类型char_type字符类型(即,char_traits 中的类模板参数)。
size_t 是一个无符号整数类型。

返回值

无 (对于 (1))。
p (对于 (2))。

复杂度

常量。

异常安全

除非 s 指向的数组不够长,否则此成员函数在任何标准特化中都不会抛出异常(无抛出保证)。
否则,将导致未定义行为

另见