1.clear()
函数来清空 QStringList
对象中的内容
在
Qt
中,我们可以使用clear()
函数来清空QStringList
对象中的内容,将其重新变为空列表。
以下示例代码演示了如何清空
QStringList
对象中的内容:
QStringList myList = {"apple", "banana", "orange", "peach"};myList.clear(); // 清空 QStringList 对象中的内容
在上述示例代码中,我们首先定义了一个
QStringList
对象myList
,并添加4
个字符串元素。然后,我们使用clear()
函数清空QStringList
对象中的内容。执行该语句后,myList
变为一个空的QStringList
对象。
2.last()
函数或 back()
函数获取 QStringList
中的最后一个元素
要读取
QStringList
中的最后一个元素,我们可以使用QStringList
中的last()
函数或back()
函数来获取最后一个元素。这两个函数都可以返回QStringList
中的最后一个元素。
以下示例代码演示如何读取
QStringList
中的最后一个元素:
QStringList myList = {"apple", "banana", "orange", "peach"};QString lastElement = myList.last(); // 使用 last() 函数获取最后一个元素QString backElement = myList.back(); // 使用 back() 函数获取最后一个元素
在上述示例代码中,我们首先定义了一个
QStringList
对象myList
,并添加4
个字符串元素。然后,我们使用last()
函数和back()
函数分别获取了QStringList
中的最后一个元素,最后将结果存储在了两个字符串变量中。
需要注意的是,当
QStringList
为空时,使用last()
函数和back()
函数都将返回一个空字符串,因此在使用这两个函数之前,应该先使用isEmpty()
函数来判断QStringList
是否为空。
2.1last()
函数和 back()
函数的区别
在
Qt
中,QStringList
类提供了两个函数来获取列表中的最后一个元素,分别为last()
和back()
函数。这两个函数的作用非常相似,都可以用来获取QStringList
中的最后一个元素。不过它们有细微的区别。
last()
函数根据文档的描述的返回值定义如下:若列表中有元素,则返回最后一个元素。
若列表为空,则返回一个空字符串。
back()
函数根据文档的描述的返回值定义如下:若列表中有元素,则返回最后一个元素的引用。
这意味着可以通过修改返回的变量来修改列表中的元素的值。
若列表为空,则返回一个空字符串。
因此,两个函数最主要的区别在于它们的返回值不同。
last()
函数返回最后一个元素的值,而back()
函数返回最后一个元素的引用。
这也就意味着,如果使用back()
函数修改最后一个元素的值,那么这个变化也会反映在QStringList
对象中。
以下是使用示例代码:
QStringList list = {"apple", "orange", "banana"};QString back = list.back(); // 返回的是一个字符串变量back = "strawberry"; // 只是修改了一个常规字符串变量的值qDebug() << list; // 输出列表:("apple", "orange", "strawberry")QString &last = list.last(); // 返回的是一个字符串变量的引用last = "kiwi"; // 修改最后一项已经改变了QStringList对象本身qDebug() << list; // 输出列表:("apple", "orange", "kiwi")
在上例中,我们首先创建了一个
QStringList
对象list
,并添加了3
个元素。然后,使用back()
函数获取了列表中的最后一个元素,并将它修改为"strawberry"
。接着,使用qDebug()
函数输出了修改后的列表,可以看到返回的字符串变量的值确实已经发生了改变,但是实际上QStringList
对象本身的内容并没有改变。然后,我们使用last()
函数获取了列表中的最后一个元素的引用,并将其修改为"kiwi"
,而这个修改直接反映在了QStringList
对象list
中,输出的结果也表明了这一点。