小编Ala*_*lan的帖子

迭代C++ std :: map的正确方法不起作用

所以我有一个Node对象的抽象语法树.每个节点都有任意数量的子节点以及任意数量的标签,这些标签是通过std :: map结构附加到节点的信息的花絮.现在我想以类似XML的格式打印整个语法树.为此我使用这个功能:

int __ostreamNode_indent = 0;
std::ostream & operator << ( std::ostream & ss, Node* n )
{   
    for( int i = 0 ; i < __ostreamNode_indent ; ++i )
        ss << "  ";

    ss << "<" << n->getSymbolType() << " ";
    for( std::map<std::string,std::string>::iterator itr = n->getTags().begin() ; itr != n->getTags().end() ; ++itr )
    {   
        ss << itr->first << "=\"" << itr->second << "\" ";
    }
    ss << "numtags=" << n->getTags().size() << " ";

    if( n->getChildren().size() == 0 ) …
Run Code Online (Sandbox Code Playgroud)

c++ xml stl stdmap abstract-syntax-tree

1
推荐指数
1
解决办法
374
查看次数

标签 统计

abstract-syntax-tree ×1

c++ ×1

stdmap ×1

stl ×1

xml ×1