C++11 如何使给定长度的字符串或向量的成员的笛卡尔积?

C++11 如何使给定长度的字符串或向量的成员的笛卡尔积?,c++11,brute-force,cartesian-product,C++11,Brute Force,Cartesian Product,我正试图制作一个程序,给我一个向量或字符串成员的所有可能组合。我看到它可以用C++中的STD::CARTESIIANI乘积函数来完成,但是我看到的所有例子都在两个列表之间。我需要的是: 如果a有一个向量,如: std::向量字母={“a”、“b”、“c”、…、“z”}; 我要所有不同长度的战斗。例如,如果我想要最小长度为1,最大长度为2的所有Combiantion,它应该如下所示: a, b, c, d, ... , z, ab, ac, ad, ... , az, ... , zz 在Py

我正试图制作一个程序,给我一个向量或字符串成员的所有可能组合。我看到它可以用C++中的STD::CARTESIIANI乘积函数来完成,但是我看到的所有例子都在两个列表之间。我需要的是:

如果a有一个向量,如:

std::向量字母={“a”、“b”、“c”、…、“z”};
我要所有不同长度的战斗。例如,如果我想要最小长度为1,最大长度为2的所有Combiantion,它应该如下所示:

a, b, c, d, ... , z, ab, ac, ad, ... , az, ... , zz
在Python中,我使用itertools库和product函数完成了这项工作。我是这样做的:

范围(1,3)内的i的
:
对于内部刀具中的s.积(向量,重复=i):
打印(“”。加入)
我该怎么做?我有点迷茫了


谢谢

也许其中一个帮助是:我认为这些都不适合我。事实上,我已经看过他们中的大多数了