1
27
QT是不知道使用模板,一个非常有用的现代C++特征。但这并不意味着Qt的API需要一个包装器。Qt使用内部预编译器来解决同样的问题。有些人不喜欢这种方法,但Qt的API非常简单高效,我不认为有真正的必要对其进行现代化。 特别是信号和;插槽是Qt的一个非常令人印象深刻的功能,可以使用模板实现(请参见 boost.signals 但是Qt实现它的方式仍然更加高效。 我会说“别担心,按原样使用Qt”。 编辑: 抱歉,我忘记了Qt提供的模板容器。但Qt的API仍然很少使用模板类。这并不意味着他们不在Qt内部使用它们,也不意味着他们的编码方式已经过时。 促进信号可能比Qt信号/插槽更强大,但据我所知,使用哪种更简单是没有争议的。一个非常令人信服的执行 KISS principle . |
2
17
QT使用C++语言的现代变体——当前C++ 98,并且在它的适当范围内也使用“是”模板。Qt对STL有一些支持。见例句。 http://qt-project.org/doc/qt-5.1/qtcore/containers.html -和方便的函数,例如std::string。都在文件里: http://qt-project.org/doc/qt-5.1/qtdoc/index.html ;) 关于模板与moc的问题是我们经常遇到的,我们已经将其添加到文档中; http://qt-project.org/doc/qt-4.8/templates.html |
3
11
Qt源包含“模板<仅在src/corelib中就有1280次。我不明白这怎么会被误认为是“已知Qt不使用模板” |
4
8
不像Boost。通过使用排队连接,Qt的信号/插槽实现是线程安全的。然而,在2009年5月2日,Boost。Signals2被释放,并带来了人们渴望的线程安全性。从开发人员的角度来看,Qt的信号/插槽实现更容易使用,主要是因为它不使用模板。要深入了解为什么Qt使用moc而不是信号和插槽模板, here's a page 从他们的文件中。 对于那些想知道为什么Qt有自己的容器类的人,我很确定主要的动机是提供隐式共享。所有容器类都是隐式共享的,因此每当复制QList时,只复制指向数据的指针。看见 here 有关Qt内浅层复制的更多信息。 |
5
6
直接回答你的问题, Qt的API是 综合的 我很确定他们迟早会推出一个QApp::ParkMyCar()函数。他们有时会采用多种方式来做同一件事,在效率和易用性上有不同的立场。查看他们(优秀的)文档。它同样全面,而且不止一次救了我一命。
从我看到的Qt源代码来看,该代码非常高效。
Qt(台式机)的目标市场是生产Hello Kitty台式闹钟的MamaPapa公司,并希望 编码一次 放心吧,它可以在所有“正常”系统上运行——Windows 98及以上版本、流行的Linux发行版和Mac OS X。这意味着要迎合每种系统中所有主要编译器的LCD。如果这意味着将代码中的模板向导保持在最低限度,那就这样吧。 |
6
4
我真的不喜欢Qt实现信号/插槽机制的方式。他们的“MOC”预编译器真的对我来说就像是一个黑客,它甚至不支持标准C++。 我认为,如果Qt能够使自己现代化,至少使用STL类,那就太好了。Qt在任何可能的情况下(尤其是Boost.Signals)都可以使用Boost,这将是非常棒的。 |
7
4
在整个Qt 4期间。X寿命,我怀疑它有意义重写QT的部分使用,例如“更现代”的C++。这是因为有一个前提,即同一个主要版本的Qt中的所有版本都应该 binary compatible .我们也不能只是过时或弃用客户仍在使用的类(尽管引入新的东西是完全可以的,即使是对于有限的一组受支持的编译器)。 如果QT 5最终几乎是在门外,而现代C++的构造和特征最终可以在目标支持的平台和编译器中获得,这样做将有助于C++开发者和客户编写更好、更强大的代码,那么为什么不呢? |
8
2
我也不喜欢QT给C++添加巫毒魔法的方式。它使用了这么多宏,它让我非常想知道C。目前,没有什么可以表明Qt会对C++特性更有利。我真的很想看到它更像C++而不是它自己的语言(例如我们为什么需要STD::向量& lt & gt?和qvector & lt;& gt?或qt信号,Booost?信号和SigC++)? |
9
1
Qt是一个库,需要支持多种编译器。例如,它仍然支持MSVC6(不过,我认为Qt软件正在逐步取消对它的支持)。这就限制了现代C++的更多特点,QT是可以使用的。 但这并不意味着你不能在Qt程序中使用它们。 |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
rainer · 后台插入程序的初始化 1 年前 |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |