2014-09-28 61 views
-3

我是Qt新手,无法理解帮助文档,希望有人能帮助,非常感谢。Qt Creator 5.3需要帮助了解帮助文档

例如:

void QList::append(const T & value) 

我可以看到返回类型是无效的,而且它是的QList的成员函数。 但括号里的什么让我很困惑,const T & value是什么意思? 我试过使用一个常规的QString变量作为参数,它工作正常,那么为什么const

另一个例子是

void QFile::setFileName(const QString & name) 

帮助文档中提供的示例代码:

QFile file; 
file.setFileName("readme.txt"); 

我想不出什么QString & name手段,它有事情做参考?

+0

'const'只是表示方法本身无法修改它,所以'QString'在函数调用前后会相同 – msrd0 2014-09-28 18:59:08

+3

请在C++中获得一本好书(http:// stackoverflow。 COM /问题/ 388242 /对,最终-C-书指南和列表)。 – 2014-09-28 18:59:46

+6

这个问题似乎是无关紧要的,因为它是关于理解C++而不是代码的特定问题。 – 2014-09-28 19:01:12

回答

3

首先Qtframework,Qt CreatorIDE。我知道你是初学者,这些东西应该看起来很混乱,但我建议你花点时间,逐步开始学习。

你真的很困惑的是C++ templates,而不是Qt

T是一种通用类型,可以通过钻石运算符(<>)这样指定:QList<int> integerList;。现在如果您执行integerList.append(42),T将会被解释为int。如果传递给append函数的变量类型与QList<int> integerList;中指定的类型不同,则会出现错误。

你有的第二个问题是你不明白references

我推荐读a good C++ book然后继续。或者至少有a decent language tutorial ...

最后,这是一个论坛,人们会在他们正在编写的代码上发布问题,或者他们已经使用他们已经编写的代码发布问题。你不会找到任何人开始教你编程语言,这就是为什么你有这么多的缺点。这里我推荐stackoverflow help page

+0

*如果传递给[...]的变量类型会得到一个错误。*仅当转换不可行时。例如,您可以将'char'传递给'QList :: append(int)',就像使用'int'的常规函数​​一样。 – leemes 2014-09-29 08:19:50

+1

是的,但这是一个称为隐式转换的特殊情况。如果你开始告诉他关于规则的所有例外,你会更加困惑他。他不了解基础知识,因此我尽可能简单地指出问题并推荐书籍/教程供他阅读。 – 2014-09-29 08:23:50

+0

关于简单性的好处。 – leemes 2014-09-29 08:25:00