一杯清酒邀明月
天下本无事,庸人扰之而烦耳。
摘要: BackgroundWorker类可以简化线程在后台执行任务的工作,它具有以下几种主要成员: 属性:WorkReportsProgress,WorkerSupportsCancellation,IsBusy;方法: RunWorkerAsync( ),CancellAsync( ),ReportPr 阅读全文
posted @ 2022-07-19 15:50 一杯清酒邀明月 阅读(700) 评论(0) 推荐(0)
摘要: 摘要: Sizeof的作用非常简单:求对象或者类型的大小。然而sizeof又非常复杂,它涉及到很多特殊情况,本篇把这些情况分门别类,总结出了sizeof的10个特性: (0)sizeof是运算符,不是函数; (1)sizeof不能求得void类型的长度; (2)sizeof能求得void类型的指针的 阅读全文
posted @ 2022-07-19 15:46 一杯清酒邀明月 阅读(1720) 评论(0) 推荐(0)
摘要: 一、基本定义 inline是C++语言中的一个关键字,可以用于程序中定义内联函数,inline的引进使内联函数的定义更加简单。说到内联函数,这里给出比较常见的定义,内联函数是C++中的一种特殊函数,它可以像普通函数一样被调用,但是在调用时并不通过函数调用的机制而是通过将函数体直接插入调用处来实现的, 阅读全文
posted @ 2022-07-19 15:40 一杯清酒邀明月 阅读(1837) 评论(0) 推荐(0)
摘要: register 简介: register 就像是汉语和英语中的形容词(不要问为什么只有两种语言,因为小编只会这两种),在 C++ 中 register 是用来修饰变量的。 register 的作用: register 声明的变量是直接放在cpu的寄存器当中,而非就是通过内存寻址访问,这样就可以大大 阅读全文
posted @ 2022-07-19 15:33 一杯清酒邀明月 阅读(500) 评论(0) 推荐(0)
摘要: 在C++项目中,#ifndef、#define、#endif非常常见,接下来就来简单说一下它们的作用。 作用:防止头文件被重复引用,防止被重复编译。 简介: #ifndef 它是if not define的简写,是宏定义的一种,确切的说是预处理功能(宏定义、文件包含、条件编译)三种中的一种——条件编 阅读全文
posted @ 2022-07-19 15:27 一杯清酒邀明月 阅读(1657) 评论(0) 推荐(0)
摘要: 作用:防止头文件的重复包含和编译 定义 #ifndef x #define x … #endif 比如说有一个头文件叫head.h,这是一个通用的头文件,然后我又定义了两个自己用的头文件,分别叫left.h和right.h,这两个头文件都包含了head.h这个头 然后我有一个demo.cpp,其中# 阅读全文
posted @ 2022-07-19 15:26 一杯清酒邀明月 阅读(281) 评论(0) 推荐(0)
摘要: 一、读字符串函数fgets 函数原型:char fgets ( char* str, int size, FILE* stream)**str: 字符型指针,用来存储所得数据的地址。字符数组。size: 整型数据,要复制到str中的字符串的长度,包含终止NULL。*stream:文件结构体指针,将要 阅读全文
posted @ 2022-07-19 15:23 一杯清酒邀明月 阅读(563) 评论(0) 推荐(0)
摘要: 一、定义 众所周知,sprintf不能检查目标字符串的长度,可能造成众多安全问题,所以都会推荐使用snprintf。自从snprintf代替了sprintf,相信大家对snprintf的使用都不会少,函数定义如下: int snprintf(char*str, size_t size,constch 阅读全文
posted @ 2022-07-19 15:21 一杯清酒邀明月 阅读(910) 评论(0) 推荐(0)
摘要: 一:乘法12 * 2 = 12 << 112 * 4 = 12 << 212 * 8 = 12 << 312 * 16 = 12 << 412 * 32 = 12 << 512 * 64 = 12 << 612 * 128 = 12 << 712 * 256 = 12 << 8二:除法12 / 2 阅读全文
posted @ 2022-07-19 15:14 一杯清酒邀明月 阅读(204) 评论(1) 推荐(0)
摘要: 这是在工作和学习中总结的有关于提高C/C++运行效率以及避免出现Bug的几种常见的实用方法,当然还有许多更有效的方式有待进一步的探索。 1.若可以替代的话,尽可能使用前缀操作符代替后缀操作符,如利用++i来代替i++,因为后缀操作符会产生一个临时变量,并且涉及到复杂的拷贝复制等。 2.对于乘法操作尽 阅读全文
posted @ 2022-07-19 15:11 一杯清酒邀明月 阅读(393) 评论(0) 推荐(0)
摘要: 前缀操作符(如++i)与后缀操作符(如i++),我们都知道前者是先将i进行加1操作然后将值返回,而后者则是先将i的值直接返回然后再把i的值进行加1操作,也就是我们常说的“前缀为先加再用,后缀为先用再加”。 然而对于某些场合它们的作用是相同的,类如在for循环中for(int i = 0; i <10 阅读全文
posted @ 2022-07-19 15:08 一杯清酒邀明月 阅读(165) 评论(0) 推荐(0)
摘要: 在多核心或多处理器的计算机上。特别是在支持CPU频率动态调整的计算机上,windows系统下的QueryPerformanceFrequency()获取HPET(假设存在)的频率,而QueryPerformanceCounter()获取HPET(假设存在高精度事件定时器(High Precision 阅读全文
posted @ 2022-07-19 13:51 一杯清酒邀明月 阅读(1688) 评论(0) 推荐(0)
摘要: 介绍 我们在衡量一个函数的运行时间,或者判断一个算法的时间效率,或者在程序中我们需要一个定时器,定时执行一个特定的操作,都会用到时间函数。编译器和操作系统为我们提供了很多时间函数,这些时间函数的精度也是各不相同。所以,如果我们想得到准确的结果,必须使用合适的时间函数。 Sleep 原理:Sleep函 阅读全文
posted @ 2022-07-19 13:48 一杯清酒邀明月 阅读(392) 评论(0) 推荐(0)
摘要: 在使用Qt开发大型软件时,需要对程序进行调试,以确保程序内的运算结果符合我们的预期。在不符合预期结果时,就直接将程序断下,以便修改。 assert()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行。如果表达式不为0,则继续 阅读全文
posted @ 2022-07-19 13:43 一杯清酒邀明月 阅读(606) 评论(0) 推荐(0)