会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
博客园
首页
新随笔
联系
订阅
管理
随笔 - 54 文章 - 0 评论 - 184 阅读 -
58万
2015年10月26日
实现一个 Variant
摘要: 很多时候我们希望能够用一个变量来保存和操作不同类型的数据(比如解析文本创建 AST 时保存不同类型的结点),这种需求可以通过继承来满足,但继承意味着得使用指针或引用,除了麻烦和可能引起的效率问题,该做法最大的不便还在语义上,指针和引用都不是值类型。于是我们想到 union,union 对简单类型来说...
阅读全文
posted @ 2015-10-26 18:02 twoon
阅读(3968)
评论(0)
推荐(1)
编辑
昵称:
twoon
园龄:
12年1个月
粉丝:
209
关注:
5
+加关注
<
2025年3月
>
日
一
二
三
四
五
六
23
24
25
26
27
28
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
搜索
最新随笔
1.X86 Linux 下 SIGBUS 总结
2.gohook 一个支持运行时替换 golang 函数的库实现
3.一个由进程内存布局异常引起的问题
4.zmq 学习笔记
5.一种高效的 vector 四则运算处理方法
6.实现无锁的栈与队列(5):Hazard Pointer
7.左值右值的一点总结
8.实现一个 Variant
9.c++ 相关的技术资源整理归类
10.c++ 全局变量初始化的一点总结
我的标签
c++
(16)
lock free
(7)
stack
(5)
linux
(5)
c++11
(5)
queue
(4)
无锁队列
(4)
无锁
(4)
rvalue
(3)
library
(3)
更多
随笔档案
(54)
2019年6月(2)
2017年2月(1)
2016年9月(1)
2016年7月(1)
2016年3月(1)
2015年12月(1)
2015年10月(2)
2015年3月(1)
2014年12月(1)
2014年10月(1)
2014年9月(1)
2014年8月(2)
2014年7月(1)
2014年6月(2)
2014年5月(1)
2014年4月(1)
2014年3月(3)
2014年1月(2)
2013年12月(5)
2013年10月(1)
2013年8月(2)
2013年7月(2)
2013年6月(2)
2013年5月(5)
2013年3月(3)
2013年2月(3)
2013年1月(6)
更多
评论排行榜
1. 一个由进程内存布局异常引起的问题(18)
2. Haskell 与范畴论(16)
3. c++11 中的 move 与 forward(16)
4. 说说尾递归(10)
5. c++11 内存模型解读(9)
推荐排行榜
1. 一个由进程内存布局异常引起的问题(31)
2. 说说尾递归(21)
3. c++中的左值与右值(19)
4. c++ 全局变量初始化的一点总结(13)
5. c++11 中的 move 与 forward(11)
最新评论
1. Re:c++11 中的 move 与 forward
支持,写的通俗易懂
--大水怪!
2. Re:c++ 全局变量初始化的一点总结
写得确实详细且深入,学习并引用,Thank you!
--runningsword
3. Re:左值右值的一点总结
写得太好了
--当年明凯
4. Re:c++ 全局变量初始化的一点总结
Construct On First Use 段落的 get_global_x() 函数的返回类型写的不对呀,应该是返回局部静态对象的引用类型才正确呀,如果是以值类型返回,返回的将会是局部静态对象的一...
--ltimaginea
5. Re:c++中的左值与右值
www.zhongguanjituan.cn/
--延俊
点击右上角即可分享