概念
for (vector<TYPE>::iterator iter = iterable.begin(); iter != iterable.end(); iter++)
和
for (map<TYPE,TYPE>::iterator iter = iterable.begin(); iter != iterable.end(); iter++)
等等
现有工作
到目前为止,我已经有了
#define every(iter,iterable) ::iterator iter = iterable.begin(); iter != iterable.end(); iter++ for (vector<TYPE> every(iter,iterable))
但我想进一步简化这一点.
目标
理想情况下,我希望能够做到
for (every(iter,iterable))
这意味着我需要以某种方式获得类< TYPE>可迭代对象的.这可能吗?如果是这样,我该怎么办?
规定
>理想情况下,这需要进入已设置为访问迭代器对象的(相对)大型代码库.
>我正在使用C 11之前的编译器运行
胜利
#define every(iter,iterable) typeof(iterable.begin()) iter = iterable.begin(); iter != iterable.end(); iter++ for (every(iter,iterable))
解决方法
原文地址:https://www.jb51.cc/c/119875.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。