關於QList與QStringList的append函式

alan00000發表於2012-11-30

QStringList b;

QString a;

b.append(a);

這一操作不是將a的地址掛到節點上,而是將a的值複製到b上的末節點;

如果a是實體,則複製實體,如果a是指標,則複製指標,有樣學樣;

下面是例子:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
#include <QStringList>
#include <QString>
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{
    QStringList b;
    QString a;

        a.setNum(12343);
        b.append(a);
        a.setNum(333);
        b.append(a);

    qDebug("b0 address is %d",&(b.at(0)));
    qDebug("b1 address is %d",&(b.at(1)));
    qDebug()<<b.at(0)<<b.at(1);
}

執行結果是:

b0 address is 138603708

b1 address is 138603712

"12343" "333"


相關文章