📌  相关文章
📜  C++ STL中的forward_list resize()函数(1)

📅  最后修改于: 2023-12-03 15:13:56.406000             🧑  作者: Mango

C++ STL中的forward_list resize()函数

resize()函数是C++标准模板库(STL)中forward_list容器所提供的函数之一。它用于调整容器中元素的数量。在本文中,我们将对resize()函数进行详细介绍,包括其语法、返回值以及示例用法。

语法

resize()函数的语法如下:

void resize(size_type count);
void resize(size_type count, const value_type& value);
  • count:调整容器中元素的数量。
  • value:当新元素添加到容器中时,使用指定的值进行初始化。
返回值

resize()函数的返回值为void

示例用法
调整容器大小

下面的例子演示了如何使用resize()函数调整容器中元素的数量:

#include <iostream>
#include <forward_list>

int main() {
    std::forward_list<int> numbers = {1, 2, 3, 4, 5};

    std::cout << "Before resize() function:\n";
    for (int number : numbers) {
        std::cout << number << " ";
    }
    std::cout << "\n";

    numbers.resize(3);

    std::cout << "After resize() function:\n";
    for (int number : numbers) {
        std::cout << number << " ";
    }
    std::cout << "\n";

    return 0;
}

输出结果:

Before resize() function:
1 2 3 4 5 
After resize() function:
1 2 3 

在上面的示例中,我们首先创建了一个forward_list容器,其初始值为{1, 2, 3, 4, 5}。然后,我们调用了resize()函数以将容器的大小调整为3。最后,我们打印调整后的容器中的内容。

使用特定值初始化新元素

我们也可以使用resize()函数指定一个特定值,以初始化添加到容器中的新元素。下面的示例演示了如何使用resize()函数:

#include <iostream>
#include <forward_list>
#include <string>

int main() {
    std::forward_list<std::string> planets = {"Mercury", "Venus", "Mars"};

    std::cout << "Before resize() function:\n";
    for (std::string planet : planets) {
        std::cout << planet << " ";
    }
    std::cout << "\n";

    planets.resize(5, "Earth");

    std::cout << "After resize() function:\n";
    for (std::string planet : planets) {
        std::cout << planet << " ";
    }
    std::cout << "\n";

    return 0;
}

输出结果:

Before resize() function:
Mercury Venus Mars 
After resize() function:
Mercury Venus Mars Earth Earth 

在上面的示例中,我们创建了一个forward_list容器,初始值为{"Mercury", "Venus", "Mars"}。然后,我们调用了resize()函数以将容器的大小调整为5,同时指定新元素的值为"Earth"。最后,我们打印调整后的容器中的内容。

总结

resize()函数是forward_list容器中非常有用的函数,它可以用于调整容器中元素的数量,并可以使用特定的值初始化新元素。当你需要调整容器大小时,resize()函数可以提供方便的方法。