📅  最后修改于: 2023-12-03 14:50:12.929000             🧑  作者: Mango
在C++标准库(STL)中,assign()
函数在容器中用于重新分配元素。它为容器分配新的元素,以替换容器中原有的元素。
assign()
函数可用于以下STL容器类:vector
、list
、deque
、array
和string
。
template <class InputIterator>
void assign(InputIterator first, InputIterator last);
void assign(size_type n, const T& value);
其中,first
和last
是表示输入范围的迭代器,而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()
函数,我们可以轻松地替换容器中的元素,方便实现不同的功能需求。