Чтобы создать ноль QString
, просто по умолчанию инициализируйте его:
QString phoneNumber;
// or if you already have a QString variable and want to 'clear' it:
phoneNumber = QString();
Обратите внимание, что QString::number(0)
определенно не ноль - он создает QString со значением "0"
.
Вы также можете инициализировать QString
указателем NULL
, но я бы не рекомендовал его, если вы передаете указатель независимо от того, является ли он NULL
или нет (т. Е. Он можетиногда указывают на строку C), так как это не нужно.
Вы также должны понимать следующие документы Qt :
Различие между пустыми и пустыми строками
По историческим причинам QString
различаетмежду пустой строкой и пустой строкой.Нулевая строка - это строка, которая инициализируется с помощью конструктора QString
по умолчанию или путем передачи (const char *)0
в конструктор.Пустая строка - это любая строка размером 0. Пустая строка всегда пуста, но пустая строка не обязательно равна нулю:
QString().isNull(); // returns true
QString().isEmpty(); // returns true
QString("").isNull(); // returns false
QString("").isEmpty(); // returns true
QString("abc").isNull(); // returns false
QString("abc").isEmpty(); // returns false
Все функции, кроме isNull()
, обрабатывают пустые строки так же, как пустые строки.,Например, toAscii().constData()
возвращает указатель на символ '\0'
для пустой строки (не нулевой указатель), а QString()
сравнивает значение, равное QString("")
.Мы рекомендуем всегда использовать функцию isEmpty()
и избегать isNull()
.