📜  列出C++ STL中的assign()函数(1)

📅  最后修改于: 2023-12-03 14:50:12.929000             🧑  作者: Mango

C++ STL中的assign()函数

在C++标准库(STL)中,assign()函数在容器中用于重新分配元素。它为容器分配新的元素,以替换容器中原有的元素。

使用方法

assign()函数可用于以下STL容器类:vectorlistdequearraystring

template <class InputIterator>
void assign(InputIterator first, InputIterator last);
void assign(size_type n, const T& value);

其中,firstlast是表示输入范围的迭代器,而n是要分配的元素数量,value是要赋给每个元素的值。

示例

以下示例将演示assign()函数在不同容器类型中的使用方法:

assign()函数在vector中的使用方法

#include <iostream>
#include <vector>

int main() {
    std::vector<int> numbers;
    numbers.assign(5, 10); // 分配5个元素,每个元素的值均为10

    // 输出容器中的元素
    for (int number : numbers) {
        std::cout << number << " ";
    }

    return 0;
}

输出结果:

10 10 10 10 10

assign()函数在list中的使用方法

#include <iostream>
#include <list>

int main() {
    std::list<char> characters;
    characters.assign({'h', 'e', 'l', 'l', 'o'}); // 分配字符列表中的元素

    // 输出容器中的元素
    for (char character : characters) {
        std::cout << character << " ";
    }

    return 0;
}

输出结果:

h e l l o

assign()函数在deque中的使用方法

#include <iostream>
#include <deque>

int main() {
    std::deque<int> numbers;
    numbers.assign(3, 7); // 分配3个元素,每个元素的值均为7

    // 输出容器中的元素
    for (int number : numbers) {
        std::cout << number << " ";
    }

    return 0;
}

输出结果:

7 7 7

assign()函数在array中的使用方法

#include <iostream>
#include <array>

int main() {
    std::array<int, 4> numbers;
    numbers.assign({1, 2, 3, 4}); // 分配数组中的元素

    // 输出容器中的元素
    for (int number : numbers) {
        std::cout << number << " ";
    }

    return 0;
}

输出结果:

1 2 3 4

assign()函数在string中的使用方法

#include <iostream>
#include <string>

int main() {
    std::string text;
    text.assign("Hello, World!"); // 分配字符串中的字符

    std::cout << text << std::endl;

    return 0;
}

输出结果:

Hello, World!
总结

assign()函数是C++ STL中常用的一个函数,它可用于各种容器类型,用于重新分配元素。通过assign()函数,我们可以轻松地替换容器中的元素,方便实现不同的功能需求。