记录我的Qt和C++的知识点,里面是无序的,按照我学到哪里就写到哪里
QT
- QWidget类是所有用户界面的基类,被称为基础窗口部件。QWidget的构造函数有两个参数:QWidget * parent = 0,和Qt::WindowFlags f = 0,前面的parent指父窗口部件,默认值为0,表示没有父窗口,而后面的f参数是Qt::WindowFlags类型,是Qt::WindowType枚举类型值或其组合,f=0表示窗口类型的值为Qt::Widget,这是QWidget的默认类型,这种类型的部件如果有父窗口,那么就为子部件,否则为独立窗口。
- 成员函数后面加const,表示此函数不能改变数据成员,对数据成员是只读的。
- 将类的核心功能放在内部类实现,逻辑更加清楚。
- ParaView的入口在paraview项目
C++
- 头文件不应包含using声明,因为不知道头文件会被包含在哪里,所以可能会发生名字冲突,为保险起见,using放在源文件中。
- C++11 引入的范围for语句,expression必须是序列,如vector,但是在范围for语句中增加vector对象。
for (declartion : expression)
statement
//
for(auto &r : v)
r*=2;
// 等价于,一旦在序列中添加元素,end函数的值就可能变得无效了。
for(auto beg = v.begin(), end = v.end(); beg != end; ++beg){
auto &r = *beg;
r*=2;
}