Lua tables analogue in C++的中文翻译

在多年编写Lua(我唯一掌握的编程语言)后,我开始学习C ++。请帮我用C ++编写相同的代码。

ticker_list="GAZP,SBER,GMKN"
period_muvinga={}
period_muvinga.GAZP=23
period_muvinga.SBER=19
period_muvinga.GMKN=20
for sec in string.gmatch(ticker_list,"%a+") do
   local period=period_muvinga[sec]
end

主要问题是如何在C ++中完全模拟Lua表。

点赞
用户9948091
用户9948091

这里是用 C++ 写的等价代码:

#include <iostream>
#include <map>
#include <string>

int main()
{
    std::map<std::string, int> period_muvinga;

    period_muvinga["GAZP"] = 23;
    period_muvinga["SBER"] = 19;
    period_muvinga["GMKN"] = 20;

    // 遍历 map 中的所有键-值对
    for (const auto &p : period_muvinga)
    {
        // 从键-值对中获取键
        std::string ticker = p.first;

        // 从键-值对中获取值
        int period = p.second;

        std::cout << ticker << " = " << period << std::endl;
    }
    return 0;
}

正如其他人所说, std::map 并不完全等同于 lua 的表格。因此,取决于您想要做什么,std::map 可能适合或不适合您的需求。

2018-09-14 23:27:34