c++ - 通过默认字符串简化 vector 中字符串的初始化

标签 c++ string vector constructor initialization

我想在 vector 中存储50个字符串,并希望使用相同的字符串文字"default"初始化每个字符串。我到目前为止所拥有的是:

std::vector<std::string> str = { 
                                  "default", "default", "default", "default", "default",
                                  "default", "default", "default", "default", "default", 
                                  "default", "default", "default", "default", "default",
                                  "default", "default", "default", "default", "default",
                                  "default", "default", "default", "default", "default",
                                  "default", "default", "default", "default", "default",
                                  "default", "default", "default", "default", "default",
                                  "default", "default", "default", "default", "default",
                                  "default", "default", "default", "default", "default",
                                  "default", "default", "default", "default", "default",
                               };

但是C++语法是否允许一种更简单的方法而不必重复字符串文字呢?

自两个小时以来,我一直尝试使用循环来完成此操作,但是由于我刚开始使用std::vector,所以我不知道如何通过 vector 中的字符串文字正确地分配某个字符串。

谢谢您的帮助。

所有有用的答案将使我感到不满。

最佳答案

写吧

std::vector<std::string> str( 50, "default" );

作为所有标准序列容器的类模板std::vector具有以下构造函数
vector(size_type n, const T& value, const Allocator& = Allocator());

关于c++ - 通过默认字符串简化 vector 中字符串的初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60475065/

相关文章:

c++ - 分配可由操作系统释放的内存(如果需要)

C++ 类成员和延迟初始化

c++ - 将二维数组打印为 C++ 中的方法

itoa() 的 C++ 标准替代方法,用于将 int 转换为 base 10 char*

c++传递大 vector 作为输出

java - 使用 vector 数组创建矩阵数组的简单方法

c++ - 从 Cpp 中的 URL 下载时获取空的 CSV

c# - 检查字符串是否为 `moSTLy` 大写的快速方法

c - 这个程序主要做什么?指针减法?

C++ vector 引用作品很有趣