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