• 5104阅读
  • 5回复

请教高手,Qt4.5.1中,如何实现的的foreach宏? [复制链接]

上一主题 下一主题
离线queen
 
只看楼主 倒序阅读 楼主  发表于: 2009-06-24
精通Qt4编程说,foreach是个宏,这个宏我在哪里能看到他的实现定义呢?

高手请指点!
离线queen
只看该作者 1楼 发表于: 2009-06-25
怎么没人回答?

都不会?
离线dbzhang800

只看该作者 2楼 发表于: 2009-06-25
Qt文档里面这么描述的(至于定义,应该翻源码吧)
foreach ( variable, container )

This macro is used to implement Qt's foreach loop. The variable parameter is a variable name or variable definition; the container parameter is a Qt container whose value type corresponds to the type of the variable. See The foreach Keyword for details.

If you're worried about namespace pollution, you can disable this macro by adding the following line to your .pro file:

CONFIG += no_keywords
See also Q_FOREACH().
离线queen
只看该作者 3楼 发表于: 2009-06-25
楼上的高手, 能否指点一下源码存放的路径?

为什么我只看到了头文件,对应的实现文件,也就是cpp文件在哪里呀?
离线shiroki

只看该作者 4楼 发表于: 2009-06-25
corelib/global/qglobal.h
#define foreach Q_FOREACH

#define Q_FOREACH(variable, container)                                \
for (QForeachContainer<__typeof__(container)> _container_(container); \
     !_container_.brk && _container_.i != _container_.e;              \
     __extension__  ({ ++_container_.brk; ++_container_.i; }))                       \
    for (variable = *_container_.i;; __extension__ ({--_container_.brk; break;}))
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
离线queen
只看该作者 5楼 发表于: 2009-06-25
谢谢楼上的高手!

我又开了一个帖子请教您一个问题!
快速回复
限100 字节
 
上一个 下一个