1,一句话记住三者:
对象不存在,且没用别的对象来初始化,就是调用了构造函数;
对象不存在,且用别的对象来初始化,就是拷贝构造函数;
对象存在,用别的对象来给它赋值,就是赋值函数。
2,模板类的声明和实现要定义在同一个文件夹中。
3, int func(x)
{
int countx =0;
while(x)
{
countx ++;
x = x&(x-1);
}
return countx;
}
假设x=9999,求countx, 答案是8,转化成2进制,看1的个数。 原理是二进制乘法。
4, reverse函数
功能是逆序(或反转),多用于字符串、数组、容器。头文件是#include
reverse函数用于反转在[first,last)范围内的顺序(包括first指向的元素,不包括last指向的元素),reverse函数无返回值
5,substr(0,8) 复制0~8的字符串。
6,动态库不能调用A发现AfxGetApp()函数;
C++基类到派生类的强制转换,被C#调用可能会引起未知的错误。
7,当生成的QT程序无法打开提示缺库时
,打开QT控制台,windeployqt xxx.exe
8,子线程不允许调用QT UI的相关操作
,否则程序会崩溃。
9,QT .exe更换图标
1,首先你需要有一个xxx.ico文件(xxx.ico就是你需要修改的图标的文件名字)
2,然后把xxx.ico文件放到你的工程文件目录下(也就是你的pro文件所在的目录)
3,然后在.pro文件中添加RC_ICONS = xxx.ico
4,保存,然后重新构建
10,QT .pro转 VS2015解决方案 脚本。
11,快速整理发布软件包,脚本。
12,QT 键盘响应
1,上下左右响应不到时,调用setFocusPolicy(Qt::StrongFocus);来获取键盘响应
2,当按键按下时,QT会反复的调用press和release函数,如果只想响应一次,则分别调用isAutoRepeat()即可。
版权声明:本文为huanfei8895原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。