编写一个元函数

fallening 2010-08-31 04:36:10
加精
template<typename C, typename A, typename B>
struct type_replace;

接受一个复合类型C作为第一个参数,并将其中的类型A替换为类型B

typedef type_replace< void*, void, int > :: result_type t1; // int*

typedef type_replace< int const* [10], int const, long > :: result_type t2; // long* [10]

typedef type_replace< char& (*)(char&, const char*), char&, long > :: result_type t3;// long (*)(long, const char*)


c++ template metaprogramming 中的一道例题, 想了好久, 郁闷
...全文
3324 223 打赏 收藏 转发到动态 举报
写回复
用AI写文章
223 条回复
切换为时间正序
请发表友善的回复…
发表回复
Soon_Fox 2010-09-28
  • 打赏
  • 举报
回复
没有考虑用variadic templates的么?
hetongqing 2010-09-09
  • 打赏
  • 举报
回复
模板啊...
chenyugudu 2010-09-09
  • 打赏
  • 举报
回复
路过 ,接分的 嘿嘿 !
clever101 2010-09-08
  • 打赏
  • 举报
回复
学习一下元函数。
hzg303 2010-09-08
  • 打赏
  • 举报
回复
看不懂呀,你们学多久了呀,怎么才能学会呀
Jinpo 2010-09-08
  • 打赏
  • 举报
回复
路过 学习学习
dreamtale000 2010-09-08
  • 打赏
  • 举报
回复
学习学习
witch_su 2010-09-08
  • 打赏
  • 举报
回复
学到了
ccloudd 2010-09-08
  • 打赏
  • 举报
回复
我不会。。。还在学习中!
qglxx 2010-09-08
  • 打赏
  • 举报
回复
看下,学习
wallier 2010-09-08
  • 打赏
  • 举报
回复
好久没上线了,再补上啊
xuliang417261 2010-09-07
  • 打赏
  • 举报
回复
太难了
蒙哥201920 2010-09-07
  • 打赏
  • 举报
回复
来转转!!我是菜鸟!学习一下
arvin_xiaoting 2010-09-07
  • 打赏
  • 举报
回复
下载的积分怎么搞??
once_and_again 2010-09-07
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 wyfwx 的回复:]

复杂,搞不懂
[/Quote]...
zzyu220 2010-09-07
  • 打赏
  • 举报
回复
请问什么是元函数?
taodm 2010-09-07
  • 打赏
  • 举报
回复
(storage-class-specifier | type-specifier | type-qualifier)+
看这个|和+就知道,这些东西基本满足交换率,它们优先级相同。* & []有高优先级,不再能交换。
人家都和你说了多少遍了const int *和int const *等价,你就是绕在自己的世界里不听。
fallening 2010-09-07
  • 打赏
  • 举报
回复
[Quote=引用 191 楼 taodm 的回复:]

fallening对于这个BNF的理解有偏差。
type-qualifier: ("const" | "volatile")
declaration-specifiers: (storage-class-specifier | type-specifier | type-qualifier)+ type-specifier: ("void" | "char" | "short" | "in……
[/Quote]

拜托~~~~~~~~说下
shanyi327 2010-09-07
  • 打赏
  • 举报
回复
这道题可以用字符解析来做。
j190969595 2010-09-06
  • 打赏
  • 举报
回复
观摩观摩,学习学习,最后拿分!
加载更多回复(189)

64,636

社区成员

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

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