我刚刚开始学习C ++。我必须创建一个包含1000个名字的数组。我的想法是首先创建一个包含10个名称的数组,然后排列名称以生成1000.但是,我不知道如何创建第一个数组(我想它是一个字符串数组,但我不知道我的语法是否正确),并且我不知道如何进一步排列名称以形成更大的数组。有谁可以帮助我?
答案 0 :(得分:1)
对于小固定大小的数组,优先使用std::array
标题中的<array>
。对于字符串,请使用std::string
标题中的std::wstring
(或<string>
}。对于固定的值列表,请使用花括号初始值设定项。
因此,对于10个名称的数组,例如
#include <array>
const std::array< std::string, 10 > basic_names =
{
"alfa",
"beta",
// and so on
};
1000个名称的数组开始变大,然后优先使用std::vector
标题中的<vector>
。它也很好,因为它可以调整大小。您只需通过push_back
方法附加新项目。
所以,例如。
auto computed_names()
-> std::vector< std::string >
{
std::vector< std::string > result;
for( auto& name1 : basic_names )
for( auto& name2 : basic_names )
for( auto& name3 : basic_names )
{
result.push_back( name1 + " " + name2 + " " + name3 );
}
return result;
}
const std::vector< std::string > names = computed_names();
免责声明:编码器甚至没有看过代码。