我正在开发一个基于提供的bookfile“编码”文件的程序。生成的文件将每个字母替换为数字。此数字对应于书本文件中该字母外观的偏移量。因此,如果我们有“你好”,它会从书籍文件中选择一个'h',找到它的位置编号并在输出中替换它。
我的工作正常,但我正在寻找一种优化它的方法。截至目前,每次它带来一个新字母时,它会创建一个偏移数字矢量供您选择。我希望能够“保存”这个向量,并再次使用它,如果我再次找到相同的数字。
我不知道如何编程。例如,如果我在'h'中读取,我想将其保存为vector<int> hLocations
;
无论如何这样做或者我只是疯了吗?我正在考虑制作一个能够做到这一点的功能,但令我困惑的部分是<int>Locations
;
有没有办法在C ++代码中使用变量?我认为这就是我真正想要的。
答案 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 ++中寻找类似的东西。