QT开发人员需要掌握的C++核心知识 ( Core C++ for Qt Developers)

来源:互联网 发布:mac网络偏好设置在哪 编辑:程序博客网 时间:2024/03/28 20:49

英文来自网络,侵删

   给自己mark一下,并分享给有需要的人:

----

  Hi Elena,
你好,艾琳那(提问者好像是在stack overflow 提问的)

here is what I found. Hope it gives you a head start ;-)
这是我的答案。希望能给你一个好的开始

Core C++ for Qt Developers Curriculum Block

Qt开发者的核心C++课程

Types, Declarations and Definitions

类型、声明和定义

Know how to use basic types and cast between them

知道如何使用基本类型以及他们之间的转换
Understand how to use const and mutable

理解如何使用const和muable关键字
Understand the different scopes that identifiers have

理解不同作用域的标识符的意义

Understand how to define functions and use argument lists

理解如何定义函数和使用参数列表


Understand how to define and use references

理解如何定义和使用引用类型
Understand how to manage object creation and destruction

理解如何管理对象的创建和销毁
Know how to define and use namespaces

理解如何定义和使用命名空间

Understand how to separate code into header files and source files

理解如何将代码分离到头文件(.h)和源文件(.cpp)


Classes

Understand member accessibility

理解成员的可访问性(private,protected,public)


Know constructors, how they are used and member initialization

知道构造函数,如何使用和成员初始化

Know how to write const methods const-correct classes

知道如何写一个常量方法和常量正确的类


Understand static methods and static member initialization

理解静态方法和静态成员初始化


Understand how objects are copied and assigned

理解对象是如何拷贝和赋值


Inheritance and Polymorphism

继承和多态


Know how constructors and destructors are used in derived classes

知道如何在派生类中使用构造函数和析构函数


Understand how to use base class pointers

理解如何使用父类指针

Non-public derivation of classes

非公共派生类


Know virtual functions, how to define and use them

知道虚函数以及如何定义和使用虚函数


Understand why virtual destructors are needed

明白为什么需要虚析构函数

Know how to use abstract classes and implement pure virtual functions

知道如何使用抽象类和实现纯虚函数


Understand how functions and operators can be overloaded, overridden and hidden in derived classes

了解函数和操作符如何被重载,和隐藏在派生类中的重写 (区分 重载和重写的不同)


Understand issues that come up from multiple inheritance

了解多重继承带来的问题


Miscellaneous Topics

其他主题


Understand how to use templates and Qt containers

理解如何使用模板和Qt容器


Understand operator overloading

了解操作符重载


Know the explicit keyword and how conversion constructors are used

知道explicit 关键字和 如何使用构造函数转换的方式 (隐式转换)


Core C++ for Qt Developers - References to Related Learning Materials

QT 开发人员需要掌握的C++核心知识的 相关学习材料


The sections below lists learning materials related to the Core C++ for Qt Developers curriculum block. Please note that only reading books or taking classes is not sufficient enough to gain required knowledge.You have to work on Qt development projects in order to gain practical experience in addition to theory.

以下各节列出如何学习Qt开发者需要具备的C++知识的相关学习材料。请注意, 只有读书或上课不足以获得所需的知识。你需要通过做Qt开发项目获得除了理论之外的实际开发经验。

Training

培训(个人觉得没有什么比较好的培训,除了官方的,但是的官方的代价太高,不太适合中国国情)


Books


There are several books about C++. Some of them refer to Qt, some are generic.The list below contains references to selected chapters and sections in books that cover the scope of this version of the curriculum. Please note that this is not 100% coverage.You might need other learning materials as well.

这里有好几本关于C++的书。有一些依赖Qt,还有一些是标准C++。下面的列表选中的章节和章节的引用都覆盖了本版本的课程的知识点。不是100%覆盖,你同样需要其他学习材料

1.  C++ GUI Programming with Qt 4 (Appendix D: Introduction to C++ for Java and C# developers)

C++ GUI 编程 QT4 中的 章节:Introduction to C++ for Java and C# developers (在附录)

PS:

这本书强烈推荐,适合Qt入门的人学习.唯一美中不足的是基于Qt 4 (现在已经5.8版本了),但是国内还是有很多企业用的4.8的版本。(电力,工控行业,建议可以4.8版本入门。其他行业酌情考虑)

 

2. An Introduction to Design Patterns in C++ with Qt 4, by Alan Ezust, Paul Ezust、

o Part I: Introduction to C++ and Qt 4

o Part III: C++ Language Reference

C++设计模式(QT):中Part I1 章节 Part III章节


3.  Accelerated C++, by Andrew Koenig, Barbara E. Moo

4.  Thinking in C++, vol 1 and vol 2, by Bruce Eckel. See also the "Online resources" below.

5.  Effective C++ series by by Scott Meyers.


Online resources

网络资源


1.  Learning C++ reference list on the Qt Developer Network wiki.

http://wiki.qt.io/QtWhitepaper


2.  C++ Reference

http://www.cplusplus.com/reference/


3.  C++ Annotations

http://www.icce.rug.nl/documents/cplusplus/


4. Thinking in C++, 2nd Edition, by Bruce Eckel (electronic book)

自己网上搜一下,我就不贴出来了。


Prerequisites

先决条件:

There are no formal prerequisites to start with Qt Essentials. You can start by either following the curriculum or by simply proceeding directly to the exam if you feel knowledgeable and experienced enough in Qt.As a rule of thumb, the scope of this curriculum block corresponds to 3 years of C++ development experience plus some knowledge of Qt.

没有正式的先决条件说你一定要掌握哪些Q要点。如果你觉得 qt 的知识渊博和经验丰富, 你可以从课程开始, 或者干脆直接参加考试。一般来说,上面的覆盖的课程对应了3年C++开发经验和一些Qt知识


1 0