我听说 Qt API 是用相当过时的 C++ 语言编写的。是真的吗?
是否有任何计划使其使用更现代的 C++ 语言?有这方面的官方信息吗?
是否有任何项目旨在用更现代的 C++ 包装当前的 Qt API 结构?
更新
这个问题比模板更重要,而且不仅仅是关于当前事态的问题(这就是为什么我用 future 标签标记它)。
更新
我特别关注 Qt API,因为这是该框架的用户使用的对象。
在 API 中使用现代 C++ 语言使其更强大、更灵活且更易于使用。
Qt 内部使用什么样的 C++ 对我来说远没有那么重要。
最佳答案
众所周知,Qt 不使用模板,这是一种非常有用的现代 C++ 功能。但这并不意味着需要 Qt API 的包装器。 Qt 使用内部预编译器来解决同样的问题。有些人不喜欢这种方法,但 Qt 的 API 非常简单高效,我认为没有必要对其进行现代化改造。 特别是信号和槽,Qt 的一个非常令人印象深刻的特性,可以使用模板实现(参见 boost.signals 库),但 Qt 实现它的方式仍然更加有效。
我会说“别担心,按原样使用 Qt”。
编辑: 抱歉,我忘记了 Qt 提供的模板容器。但是,Qt 的 API 仍然很少使用模板类。这并不意味着他们不在 Qt 中使用它们,或者他们的编码方式已经过时。
Boost.Signals 可能比 Qt signals/slots 更强大,但据我所知,没有人会争论哪个更易于使用。 KISS principle 的一个非常有说服力的实现.
关于c++ - Qt 中使用的 C++ 语言有多现代?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/846015/