Warning, file /sdk/clazy/tests/container-inside-loop/main.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 #include <QtCore/QVector>
0002 #include <QtCore/QString>
0003 
0004 struct A { A() {} };
0005 
0006 extern void receivesByRef(QVector<int> &);
0007 extern void receivesByRef2(const QString &, QVector<int> &);
0008 extern void receivesByPtr(QVector<int> *);
0009 
0010 void test()
0011 {
0012     QVector<int> v1; // OK
0013     for (int i = 0; i < 10; i++) {
0014         A a; // OK
0015         QVector<int> v2; // Warning
0016         v2.append(i);
0017         QVector<int>().append(i); // OK (bogus but that's not what we're after)
0018     }
0019 }
0020 
0021 void test1()
0022 {
0023     QVector<int> v;
0024     while (true) {
0025         QVector<int> v1(v); // OK
0026     }
0027 
0028     while (true) {
0029         QVector<int> v1; // OK
0030         receivesByRef(v1);
0031     }
0032 
0033     while (true) {
0034         QVector<int> v1; // OK
0035         receivesByRef2(QString(), v1);
0036     }
0037 
0038     while (true) {
0039         QVector<int> v1; // OK
0040         receivesByPtr(&v1);
0041     }
0042 }