BOOST_FOREACH 的奇葩发现

函数形式:BOOST_FOREACH(type name, container);
用于遍历容器里面的内容,但是如果遇到map等里面自带逗号的数据结构时,就会有问题。
比如 std::vector<std::map<std::string, std::string>> container;

如果你直接这样遍历,编译器是无法通过的(可能是2008的BUG)

BOOST_FOREACH(std::map<std::string, std::string>& tmp, container)
{

}
编译器会提示这个函数参数不正确的一系列的提示,其实就是把map里面的[,]当做函数参数的分割符了,怎么解呢?这样写:

#define std::map<std::string, std::string> STDMAP;

BOOST_FOREACH(STDMAP& tmp, container)
{

}
这样写就没问题了,奇葩的编译器... OVER

原文地址:https://blog.51cto.com/11753138/2412591

时间: 2024-09-21 18:08:34

BOOST_FOREACH 的奇葩发现的相关文章

施乐3200卡纸的原因很奇葩啊!!终于发现问题所在

今天客户要求上门加粉,报上是施乐3200的机器自认为没有啥问题,原以为 很简单去了以后二话没说直接加粉安装上电试机,结果纸走到硒鼓的附近就卡纸 了,仔细观察硒鼓的前端有块塑料片快断了,我也没有管直接揪了...上机还 是老问题查了半天急了一身汗啊!最后发现问题就出自着快不起眼的塑料片上! 原来塑料片刚好是卡机器内部传感器的,后来想办法又夹进去一块塑料片,开机 问题解决!.....希望对大家有用!www.lzyd.cn

和奇葩失联的第二天

(奇葩)丫头: 还是以这样的称呼叫你吧,现在是晚上的十点二十五,这个时候你应该差不多回到公寓刚刚洗漱完吧, 请允许我脑补一下你在洗漱完下意识的找手机看有没有我的消息的画面,嘿嘿! 首先和你分享一下我今天的小插曲,由于看着电脑屏幕不是很清晰,就想着升级一下显卡驱动,可不 科学的事与愿违,显卡驱动升级了之后反而更低了,还出现了偶尔闪屏的现象,常规方法均已尝试,但至 这个时刻还是没有解决,故我现在是在屏幕不和谐的状态下给你说促使我们和谐的故事.此处应该有掌声 的哦! 另外,还想找你吐一下,今天我有那么

KB奇遇记(5):奇葩的用人制度

8月份入职,公司不给我们正式任命,导致了我们开展工作困难重重,基本上很少有人会鸟你,做事仿佛名不正言不顺.哪怕你是未来信息部的老大也一样,网管们根本不买你的账.所以做ERP选型,做旧OA的选型以及加密系统的评估都没有什么权限,也得不到很多应有的资源.后来我才发现KB公司的用人制度很奇葩:每年年末开一次年会,重点讨论来年的人事任命,并在年初对所有的管理干部重新做一次任命.也就是说今年你是总字辈,到明年就不一定了.而且人事的任命一般是一年期限,如果有新人半路入职,那他的任命也就是到当年的12月31号

奇葩问题-TextView无法获取值

问题场景 前几天写一个界面的时候,遇到一个非常奇葩的问题.app第一次安装的时候,这里针对用户第一次安装的时候,后来是不会出现这个问题了.我明明是对某个界面的一个textview赋值了,而且服务端也返回了值了,我都debug了,那一行代码是运行的,但是始终返回的都是null.我纳闷了半天,为啥呢? 我一直debug了好几遍啊,没错啊,什么原因啊.难道我今天撩妹了吗?不再帅了吗?我偷人家桌子零食遭报应了吗?不不,不会的.即使我真的干了缺德的事了,这个代码是没错啊.我后来继续看下面代码,发现这个te

安装了libevent和memcached之后却发现在执行的时候出现了 error while loading shared libraries问题

今天晚上心血来潮装libevent和memcached,可是却出现了奇葩的问题,结果一看越来是引导文件的路径不对! 我遇到  error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory 这样的问题是在安装memcached的时候遇到的. 我按别人的攻略安装了libevent和memcached之后却发现在执行的时候出现了. er

JavaScript语法对{}的奇葩处理

JavaScript的语法有多坑,算是众人皆知了. 今天看到vczh的这条微博:http://weibo.com/1916825084/B7qUFpOKb , 代码如下: {} + []; // 0 [] + {}; // "[object Object]" {} + [] == [] + {}; // false ({} + [] == [] + {}); // true 这么蛋疼的语法坑估计也只有 JavaScript 这样的奇葩才有. 相信对于绝大部分不研究 JavaScript

众创空间们想要活,先不再“奇葩”,然后回归奇葩

日前,株洲媒体再一次走进了经历了入驻率不高.项目成活率低.缺少盈利模式等"成长的烦恼"之后,正在逐步稳定的几家株洲市的众创空间,一番探寻之下,发现它们的心声大多是:努力寻找稳定可靠盈利模式是当前重点. 文/张书乐 TMT行业观察者.游戏产业时评人,人民网.人民邮电报专栏作者 怎么破,每一个众创空间的平台方都给出了一些大致的方向,如深耕文创.专注无人机.强化培训.引入人才等.不过在笔者看来,这些招式看似有用,但却并不创新. 或许,经历了2年多热潮与寒流的洗礼,从最初一窝蜂而上,各出奇葩招

这几年遇到的奇葩程序员(1)

回到老家这个在三线和二线之间徘徊的城市,起初我是不自信的,以为这个城市虽然不是太发达,但也是卧虎藏龙,再加上距离北京如此之近,肯定有很多从北京辗转回来的高手.然而这三四年的境遇来看,着实让我眼珠外凸,直感慨林子之大,鸟儿之多.下面就说说遇到一些奇葩程序员吗. 第一个奇葩程序员,我们姑且称之为A君吧,属于在这个城市混了好久的人,来公司面试的时候号称“地球上的东西都会做”,被当时的美术组长调侃,说不好月球上的东西也能做.最后发现连地球上的东西都做不好. 当时A君是以程序组组长的身份进入我们科室的,就

记一次dell R720服务器ESXI5.5系统宕机的奇葩经历

?记一次dell R720服务器ESXI5.5系统宕机的奇葩经历? 总结点: 1,  没看宕机的原因. 2,  无故重置bois. 3,  不看日志. 4,  Dell r720服务器 内存需要按照顺序插入,如:A1,A2,A3,A4. 5,  使用idrac远程管理页面. 6,  要有自己的判断问题思路,不要什么都依着400. 7,  对问题不重视,要不然就不会直接重启设备了. 失误点一:没看宕机的原因 17号下午5点多的时候,正用着服务器上的虚拟机工作时,mstsc窗口突然断开了.Ping也