木风可可 2021-08-03 09:58 采纳率: 50%
浏览 35
已结题

Qt CPP 简化for循环代码, 将for简化成while


                  if(QString::compare(tagname, "g", Qt::CaseInsensitive) == 0) { // group
                    QDomNodeList list = e.childNodes();   // 遍历群组中所有标签
                    for(int i=0; i<list.count(); i++)
                    {
                        QDomNode n=list.at(i);

                        if(QString::compare(n.nodeName(), "g", Qt::CaseInsensitive) == 0) { // group
                            QDomNodeList list1 = n.childNodes();   // 遍历群组中所有标签
                            for(int i1=0; i1<list1.count(); i1++)
                            {
                                QDomNode n1=list1.at(i1);
                                if(QString::compare(n1.nodeName(), "g", Qt::CaseInsensitive) == 0) { // group
                                    QDomNodeList list2 = n1.childNodes();   // 遍历群组中所有标签
                                    for(int i2=0; i2<list2.count(); i2++)
                                    {
                                        QDomNode n2=list2.at(i2);
                                        qout << n2.nodeName();
                                        parseSVGTag(n2.toElement(), n2.nodeName());
                                    }
                                } else {
                                    qout << n1.nodeName();
                                    parseSVGTag(n1.toElement(), n1.nodeName());
                                }
                            }
                        } else {
                            qout << n.nodeName();
                            parseSVGTag(n.toElement(), n.nodeName());
                        }
                    }
                } else {
                    qout << tagname;
                    parseSVGTag(e, tagname);
                }

如何用while循环简化代码?

此段代码的作用是碰到group标签就打开遍历

  • 写回答

2条回答 默认 最新

  • 全栈极简 博客专家认证 2021-08-03 10:08
    关注

    while循环和for循环是一样的,经过测试,while循环反而比for循环更慢。因此,你的问题应该是优化你的逻辑,而不是用while循环简化你的代码。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月10日
  • 修改了问题 8月3日
  • 修改了问题 8月3日
  • 创建了问题 8月3日

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 MATLAB动图问题
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名