让系统发出提示音.
1 | QApplication::beep(); |
本文介绍怎么设置系统内置字体和从外部加载字体。
1 | QFontDatabase database; |
1 | QFont font("family"); |
addApplicationFont
可以为系统路径,也可以资源文件。1 | int fontId = QFontDatabase::addApplicationFont("font.ttc"); |
利用QPainter与QPainterPath绘制同心圆。
setRenderHint(QPainter::Antialiasing)
抗锯齿渲染。1 | QPainter painter(this); |
介绍duff写法与范围判断
1 | int n = 1; |
1 | 1 2 3 4 0 1 2 3 4 |
1 | int i = 5; |
1 | 4-6: 5 |
解决由于程序删除内存方式写得不恰当导致的运行时错误。
使用调试运行程序时弹出断言错误,以下是调试信息:
1 | HEAP[xxx.exe]: Invalid address specified to RtlValidateHeap( 01B20000, 2F6AE020 ) |
看到关键部分HEAP[xxx.exe]
和_CrtIsValidHeapPointer
,估计是堆内存出错,程序操作堆内存,一般是使用了malloc,free,new,delete等操作;
利用数学运算符实现不使用加法运算符实现加法的操作。
1 | int add(int x, int y) |
本文介绍C++设计模式中的接口隔离示例。使用接口隔离独立性好,且只限于它的接口(单一性原则)。
Device
类继承于AudioDevice
与VideoDevice
;在Device
中:
1 | AudioDevice *audioDevice() { return this; } // 接口隔离 |
由于都返回this
指针,但实际只能访问到对应的返回值,这就是接口隔离的核心所在。
1 | #include <iostream> |
你才小学生
(nicaixiaoxuesheng)