Qt中的c ++是否与ANSI c ++不同?

Rom*_*man 3 c++ qt qt4

我正在学习c ++,目前虽然使用Qt创建者.我听说Qt框架不同,或者C++ Qt与标准ANSI C++不同.有人可以告诉我一些差异吗?我错过了Qt Creator/Qt框架隐藏的一些基本的c ++学习曲线吗?

Wil*_*ord 5

Qt框架

Qt是一个基于C++的框架,它通过自定义编译步骤扩展了C++的功能.基于Qt的类派生自QObject,可以利用标准C++语言中没有的其他功能.

该框架的主要优点是它支持更高级的回调函数(信号和插槽),并且它具有多平台支持.

信号和插槽

资料来源:http://doc.qt.nokia.com/4.7/signalsandslots.html:

信号和槽用于对象之间的通信.信号和插槽机制是Qt的核心功能,可能是其他框架提供的功能最不同的部分.

跨平台兼容层

Qt工具链允许您使用相同的工具来构建在多个平台上运行的应用程序 - 例如Windows,Linux和OS X.Qt抽象了依赖于平台的差异,以便您可以为多个平台编译相同的程序.您可以将其视为反向Java - 而不是编写一个应用程序在可以在任何平台上运行的虚拟机上运行,​​您编写一个应用程序,该应用程序被编译为您需要支持的平台的本机代码.

Qt的方法的优点主要性能 - 它应该在运行时需要较少的内存,因为有你的应用程序,像有将与Java或解释语言的操作系统之间没有虚拟机.

缺点是您必须为每个平台维护构建,并且始终存在不受支持的灰色区域.所以你不可避免地会在任何体面复杂的应用程序中编写一些特定于平台的代码.

C++ 11标准

如果你想学习标准C++,看看C++ 11: