根据运行时创建变量/向量

时间:2009-02-07 01:45:05

标签: c++

我正在开发一个基于提供的bookfile“编码”文件的程序。生成的文件将每个字母替换为数字。此数字对应于书本文件中该字母外观的偏移量。因此,如果我们有“你好”,它会从书籍文件中选择一个'h',找到它的位置编号并在输出中替换它。

我的工作正常,但我正在寻找一种优化它的方法。截至目前,每次它带来一个新字母时,它会创建一个偏移数字矢量供您选择。我希望能够“保存”这个向量,并再次使用它,如果我再次找到相同的数字。

我不知道如何编程。例如,如果我在'h'中读取,我想将其保存为vector<int> hLocations;

无论如何这样做或者我只是疯了吗?我正在考虑制作一个能够做到这一点的功能,但令我困惑的部分是<int>Locations; 有没有办法在C ++代码中使用变量?我认为这就是我真正想要的。

2 个答案:

答案 0 :(得分:3)

您可以使用std::map<unsigned int, std::vector<unsigned int> >,以便感兴趣的字符是偏移矢量的关键。这样,您就不必为文件中的每个可能字符编写N个不同的向量。

答案 1 :(得分:0)

这个问题已经很老了,但我要问的是“C ++是否有可变变量名?”

PHP有这个......

$foo = 'bar';
$bar = 'foobar';
echo $$foo;    //This outputs foobar

我在C ++中寻找类似的东西。