09 2019 档案
摘要:一、final 1、final用于让虚函数不可被重写 struct B2 { virtual void f() final {} // final 函数 };2 struct D2 : B2 { virtual void f() {} }; 如上代码是不可被编译过的 2、放在类后面,如果类被继承则编
阅读全文
摘要:class A{ private: int a; //变量,属于对象任何地方初始化即可 const int b = 0; //常量,属于对象,声明的时候初始化、在构造函数初始化列表初始化,最后取初始化列表的值 static int c; //静态变量,属于类,需要在类外声明一次,初始值可给可不给 static const int d; //非浮点静态常量,属于类,static和const位置都可以
阅读全文
摘要:1、栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区,里面的变量通常是局部变量、函数参数等。 2、堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动
阅读全文
摘要:1、对象分布图 2、解析 每个类的大小只有其成员变量大小,其中包括:类成员属性,虚函数指针; 而其他没有如:静态变量【静态区】,普通函数、静态函数【代码区】 3、总结 类对象的sizeof只包含成员变量的大小,不包含函数的大小【就跟结构体一样】,因为函数被放在了代码区,类对象调用代码的时候会把对象的
阅读全文
摘要:优点: 1.inline 定义的类的内联函数,函数的代码被放入符号表中,在使用时直接进行替换,(像宏一样展开),没有了调用的开销,效率也很高。 2.很明显,类的内联函数也是一个真正的函数,编译器在调用一个内联函数时,会首先检查它的参数的类型,保证调用正确。然后进行一系列的相关检查,就像对待任何一个真
阅读全文
摘要:满足下面条件: 1、类中没有定义任何的成员变量 2、所有的成员函数都是公有的 3、所有的成员函数都是纯虚函数 4、接口是一种特殊的抽象类
阅读全文
摘要:浅拷贝,当类对象调用编译器默认的拷贝构造函数和赋值运算符重载函数的时候,仅将待复制对象各个数据成员的值对应复制过来。深拷贝,通过程序员的重写编写拷贝构造函数和赋值运算符重载函数,让对象中动态成员,重新动态分配空间。【即指针重新指向另一个堆】 举例: 浅拷贝的危害【当有指针的时候就体现出来了】: us
阅读全文
摘要:代码: #include <iostream> #include <stdio.h> #include <QDebug> using namespace std; class A { public: A() { qDebug() << "默认无参构造函数"; } #if 0 explicit A(i
阅读全文
摘要:个人整理,借鉴网络 1、C和C++中struct的区别 1)、C的struct无protect和private属性,C++的有 2)、C不能定义函数,C++能 3)、C中struct加了typedef才能定义成类型,C++不需要 2、C++中的 struct 和 class 有什么区别? 1)、st
阅读全文
摘要:现象: 按照https://www.cnblogs.com/judes/p/11247728.html的方法,能生成一些exe所需环境和动态库,但是打开程序,用到了qml的地方,全是黑色的。 原因: Qt5.10这个版本【目前只有这个版本遇到这个问题】,通过windployqt的方法,关于qml相关
阅读全文