C++ —- 经验总结 —- 持续更新中。

  • Post author:
  • Post category:其他




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 版权协议,转载请附上原文出处链接和本声明。