C++0X已经发布啦,如果你用的是旧编译器,好多东西用不上,如typeof和auto;
我用mdl C++ API还是VS2005,因为不想换别人的机子还带个10.0的运行时过去。
boost中的BOOST_AUTO在旧编译器上也可以使用auto的特性.
在遍历ElementAgenda的时候,才开始,可能不知道是声明一个什么变量,是EditElementHandl还是EditElementHandlP\还是ElemHandle,还是ElemHandleP,还是ElemAgendaEntry?还是……
下面是个例子,BOOST_AUTO优雅多了,简洁的代码像艺术。
#include <boost/foreach.hpp>
#include <boost/typeof/typeof.hpp>
#include <MicroStationAPI.h>
#include <BentleyNameSpace.h>
#include <MsFuncs.h>
void loopSelectElements()
{
ElementAgenda agd;
ISelectTool::GetTool().BuildAgenda(agd);
EditElemHandleP firstElH = (EditElemHandleP)agd.GetFirst();
for(int i = 0;i != agd.GetCount();++firstElH,++i)
{
mdlcout<<"Element Id:"<< firstElH->GetElemRef()->GetElemID()<<" | ";
mdlcout<&