Warpten (./31) :
./29 http://ideone.com/LEGvux
Aux temps pour moi, j'ai mal expliqué (en même temps, sur téléphone
)
C'est comme en C++ en fait:
#include <QString>
#include <QVector>
#include <QTextStream>
#include <cstdio>
void Value(QVector<int> l) {
l = QVector<int>(1);
}
void Reference(QVector<int> &l) {
l = QVector<int>(1);
}
// Il n'y a pas de différence entre Reference et Out en C++.
void Out(QVector<int> &l) {
l = QVector<int>(1);
}
int main(void) {
auto l = QVector<int>(2);
auto m = QVector<int>(3);
auto n = QVector<int>(4);
Value(l);
Reference(m);
Out(n);
QTextStream console(stdout);
console << QStringLiteral("%1 2\n").arg(l.size());
console << QStringLiteral("%1 3\n").arg(m.size());
console << QStringLiteral("%1 4\n").arg(n.size());
return 0;
}[kevin@laptop64 ~]$ g++ -std=gnu++11 -Os -fPIC -s `pkg-config --cflags --libs Qt5Core` reftest.cpp -o reftest
[kevin@laptop64 ~]$ ./reftest
2 2
1 3
1 4