avatar
boost::variant 的问题# Programming - 葵花宝典
r*r
1
有什么好的文档解释variant 设计的吗? 直接看源码好累啊.
读了 andrei alexandrescu 的文章 "an implementation of discriminated unions
in c++"
还比较好懂. 但是 boost 的这个 variant 好像要复杂很多.
btw, 是一定要看懂 mpl 吗?
avatar
h*e
2
no and no

【在 r*********r 的大作中提到】
: 有什么好的文档解释variant 设计的吗? 直接看源码好累啊.
: 读了 andrei alexandrescu 的文章 "an implementation of discriminated unions
: in c++"
: 还比较好懂. 但是 boost 的这个 variant 好像要复杂很多.
: btw, 是一定要看懂 mpl 吗?

avatar
r*r
3
确实找不到文档. 而且 variant 和 mpl 的作者好像都是小本, 会写代码不会解释.
今天读了一篇 mpl 的文章, 看得火大.
avatar
p*o
4
mpl不是有本书么?
C++ Template Metaprogramming: Concepts, Tools, and Techniques
from Boost and Beyond
我觉得说的很清楚。boost的代码不好看,有很多兼容不同编译器
的花招。把mpl搞明白就可以去面试别人C++模板了 ...

【在 r*********r 的大作中提到】
: 确实找不到文档. 而且 variant 和 mpl 的作者好像都是小本, 会写代码不会解释.
: 今天读了一篇 mpl 的文章, 看得火大.

avatar
r*r
5
手头有这本书. 这两个作者还写了篇paper:
the boost c++ metaprogramming library, 30页. 主要的技术都讲了,
比看书更efficient 点.
我现在看code 的方法是, 用 g++ -E 编译一个空的程序(把要看的头文件加进去)
然后看生成的文件, 这样能跳过那些讨厌的宏
avatar
r*r
6
能不能让编译器打印出 template instantiation 的过程?
如果 partial specialization 一大堆的话, matching 结果很难看出来...
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。