据说是facebook的面试题

shuizhiyun 2012-10-02 12:13:37
设计一个variant类,这个类有如下特征

variant v = string("jams");
variant v2 = 18;

variant jam["name"] = v;
jam["age"] = v2;
jam["sex"] = string("famale");
jam["hobby"] = variant.list_elem()
variant hobby = jam["hobby"];
hobby[0] = string("basketball");
hobby[1] = string("baseball");
hobby[2] = string("classic music");

const int MAGIC_NUM1 = 0x101010;
const int MAGIC_NUM2 = 0x101011;
hobby[3] = variant(MAGIC_NUM1);
hobby[4] = MAGIC_NUM2;

jam["address"]["state"] = string("");
jam["address"]["city"] = string("");

cout << jam["address"]["city"] << ", " << jam["age"] << endl;
...全文
263 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
冼鸿文 2012-10-03
  • 打赏
  • 举报
回复
小弟看不懂先占个位置学习学习
Flammable_ice 2012-10-03
  • 打赏
  • 举报
回复
jam["age"]这是数组表示方法吗? 中括号里怎么还有双引号啊,C++有这么表示的吗? 貌似没见过啊。
AmbitiousGuy 2012-10-02
  • 打赏
  • 举报
回复
怎么搞得有些像json
ForestDB 2012-10-02
  • 打赏
  • 举报
回复
印象中Python,javascript等脚本语言均是此类似行为,是要写个脚本语言的解释器出来么?
huangxy10 2012-10-02
  • 打赏
  • 举报
回复
variant jam["name"] = v;

对象没有建立怎么可能调用其中的方法呢,定义对象的时候只能调用构造函数。

64,282

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧