我是一个 C++ 菜鸟,试图构建一个实时跟踪我所有资产和负债的个人理财 websocket 服务器。
我发现我可以使maps of maps 具有键值对的多维系统。
我还发现它boost::any可以boost::variant用来存储一个值的多种类型。我的问题是,与其他级别相比,某些级别并不是很复杂。例如,银行账户只有一个值,即账户中的金额,而经纪账户将有多种类型的投资和特征,所以我想做类似(在 json 中)的事情:
{
'bankAccount': 100.00,
'brokerageAccount': {
'stocks': {
'companyName': 'Stack Exchange',
'ticker': 'STAK',
'pps': bazillion
...
需要时可以在哪里编辑和删除,bankAccount并在必要时丢弃。brokerageAccountinserterase
我真的不知道从这里去哪里。当我尝试放
map<string, boost::any> accounts;
accounts["cash"] = 100;
accounts["brokerageAccount"] = map<string, boost::any>;
在这个websocket serverprivate的部分中,这些标志给出了最后两行。broadcast_servergcc-I ~/websocketpp-master/ -std=c++0x -D_WEBSOCKETPP_CPP11_STL_ -D_WEBSOCKETPP_NO_CPP11_REGEX_ -lboost_regex -lboost_system -L/usr/lib -pthread -O0 -ljson_spiriterror: ‘accounts’ does not name a type
我怎样才能最好地以上述 json 类型的方式存储数据,并且能够在任何地方添加和删除键和值?