std::array<T,N>::fill

来自cppreference.com
< cpp‎ | container‎ | array
void fill( const T& value );
(C++11 起)
(C++20 前)
constexpr void fill( const T& value );
(C++20 起)

将定值 value 赋给容器中的所有元素。

参数

value - 要赋给元素的值

返回值

(无)

复杂度

与容器大小成线性。

示例

#include <array>
#include <iostream>
#include <algorithm>
 
int main()
{
    constexpr int xy = 4;
 
    using Cell = std::array<unsigned char, 8>;
 
    std::array<Cell, xy * xy> board;
 
    board.fill({ {0xE2, 0x96, 0x84, 0xE2, 0x96, 0x80, 0, 0} }); // "▄▀";
 
    std::for_each(board.cbegin(), board.cend(), [xy, O=1](const auto& c) mutable
    {
        std::cout << c.data() << ((O++ % xy) ? "" : "\n");
    });
}

输出:

▄▀▄▀▄▀▄▀
▄▀▄▀▄▀▄▀
▄▀▄▀▄▀▄▀
▄▀▄▀▄▀▄▀

参阅

将一个给定值复制赋值给一个范围内的每个元素
(函数模板)
将一个给定值复制赋值给一个范围内的 N 个元素
(函数模板)