【问题标题】:Simplification for intializing strings in a vector by a default string通过默认字符串初始化向量中的字符串的简化
【发布时间】:2020-03-01 12:22:16
【问题描述】:

我想在一个向量中存储 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 的新手,我不知道如何通过向量中的字符串文字正确分配某个字符串。

感谢您的帮助。

所有有用的答案都会得到我的支持。

【问题讨论】:

标签: c++ string vector constructor initialization


【解决方案1】:

随便写

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

作为所有标准序列容器的类模板 std::vector 具有以下构造函数

vector(size_type n, const T& value, const Allocator& = Allocator());

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-17
    • 2011-05-15
    • 1970-01-01
    • 2013-05-20
    • 1970-01-01
    • 2015-09-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多