Doc: Advocate use of std::initializer_list constructor in Q[String]List

We're relying on C++11 since a while, so lets not advertise creating
lists of strings with operator<<() anymore.

Change-Id: I14a3442ff852ac2c106d90c63504eb9ebb737609
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: hjk <hjk@qt.io>
bb10
Kai Koehne 2018-03-20 15:07:04 +01:00
parent e555c03a42
commit a69a3594e2
4 changed files with 37 additions and 15 deletions

View File

@ -54,11 +54,14 @@ QList<QDate> dateList;
//! [0]
//! [1]
QList<QString> list;
list << "one" << "two" << "three";
// list: ["one", "two", "three"]
//! [1]
//! [1a]
QList<QString> list = { "one", "two", "three" };
//! [1a]
//! [1b]
list << "four" << "five";
//! [1b]
//! [2]

View File

@ -61,10 +61,13 @@ public:
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
//! [0]
QStringList fonts;
fonts << "Arial" << "Helvetica" << "Times" << "Courier";
//! [0]
//! [0a]
QStringList fonts = { "Arial", "Helvetica", "Times" };
//! [0a]
//! [0b]
fonts << "Courier" << "Verdana";
//! [0b]
//! [1]
for (int i = 0; i < fonts.size(); ++i)

View File

@ -408,15 +408,20 @@ void **QListData::erase(void **xi)
from strings.
QList stores a list of items. The default constructor creates an
empty list. To insert items into the list, you can use
operator<<():
empty list. You can use the initializer-list constructor to create
a list with elements:
\snippet code/src_corelib_tools_qlistdata.cpp 1
\snippet code/src_corelib_tools_qlistdata.cpp 1a
QList provides these basic functions to add, move, and remove
items: insert(), replace(), removeAt(), move(), and swap(). In
addition, it provides the following convenience functions:
append(), prepend(), removeFirst(), and removeLast().
append(), \l{operator<<()}, \l{operator+=()}, prepend(), removeFirst(),
and removeLast().
\l{operator<<()} allows to conveniently add multiple elements to a list:
\snippet code/src_corelib_tools_qlistdata.cpp 1b
QList uses 0-based indexes, just like C++ arrays. To access the
item at a particular index position, you can use operator[](). On

View File

@ -98,14 +98,25 @@ QT_BEGIN_NAMESPACE
\tableofcontents
\section1 Initializing
The default constructor creates an empty list. You can use the
initializer-list constructor to create a list with elements:
\snippet qstringlist/main.cpp 0a
\section1 Adding Strings
Strings can be added to a list using the \l
{QList::insert()}{insert()} \l
{QList::append()}{append()}, \l
{QList::operator+=()}{operator+=()} and \l
{QStringList::operator<<()}{operator<<()} functions. For example:
{operator<<()} functions.
\snippet qstringlist/main.cpp 0
\l{operator<<()} can be used to
conveniently add multiple elements to a list:
\snippet qstringlist/main.cpp 0b
\section1 Iterating Over the Strings