很抱歉,但我无法在C ++手册中找到合适的位置。
在以下字符串中:
void setYRange(QString name1, int s1, int e1, QString name2 = 0, int s2 = 0, int e2 = 0);
我不明白初始化:
QString name2 = 0
请在C ++手册中给我一个正确位置的参考。
答案 0 :(得分:2)
您所看到的是编译器选择QString::QString(const QChar *unicode, int size = -1)
构造函数。 0
是空指针值,因此可以从中隐式构造指针。这意味着编译器将选择c-string构造函数并将指针初始化为空指针。由于指针为空,这意味着您将构造一个空QString
(它为空)。
请注意,此行为与std::string
不同。从空指针构造其中一个是未定义的行为。