随笔分类 - C/C++编程
获取本地时间 精确到毫秒
摘要:string GetSysUsecTimeHMS(){ char szBuf[256] = {0}; struct timeval tv; struct timezone tz; struct tm *p; gettimeofday(&tv, &tz); p = localtime(&tv.tv_s
阅读全文
C++时间类型详解( time_t 和 tm )
摘要:原文:http://blog.csdn.net/love_gaohz/article/details/6637625Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。Unix时间戳不仅被使用在Unix 系统、类Unix系统...
阅读全文
从字符串中取数字(1-99) 不用正则表达式
摘要:// dwd.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include int get_XYMN_Value(char * buf,int &offset) { unsigned short len=strlen(buf); int a=0,b=0; ...
阅读全文
使用 MtVerify.h头文件 ,用的时候把他头文件的内容添加到项目
摘要:#include <windows.h> //windodws变量相关头文件 MtVerify.h的内容如下:#pragma comment( lib, "USER32" ) #include <stdlib.h> #include <crtdbg.h> #define MTASSERT(a) _A
阅读全文
c/c++的预处理定义 Stringizing Operator (#) Charizing Operator (#@) Token-Pasting Operator (##)
摘要:c/c++的预处理定义:一。Stringizing Operator (#)在c和c++中数字标志符#被赋予了新的意义,即字符串化操作符。其作用是:将宏定义中的传入参数名转换成用一对双引号括起来参数名字符串。其只能用于有传入参数的宏定义中,且必须置于宏定义体中的参数名前。如: #define exa
阅读全文
C语言常用函数大全
摘要:一、数学函数 调用数学函数时,要求在源文件中包下以下命令行: #include <math.h> 函数原型说明 功能 返回值 说明 int abs( int x) 求整数x的绝对值 计算结果 double fabs(double x) 求双精度实数x的绝对值 计算结果 double acos(dou
阅读全文
Qt界面控件值获取异常处理
摘要:情景简述: 正常情况,我们从控件获取的值是OK的,但有时候就是奇怪的不对头,那么我们可以给获取后的值加上一个不痛不痒的函数,再返回,结果就OK了。至于原因嘛,[呲牙][呲牙] 比如: 2018.4.2
阅读全文
va_list va_start va_end va_arg 解决变参问题
摘要:解决参数个数不确定的问题。 头文件 #include<stdarg.h> VA_LIST 是在C语言中解决变参问题的一组宏,用于获取不确定个数的参数。 _M_ALPHA是指DEC ALPHA(Alpha AXP)架构。所以一般情况下va_list所定义变量为字符指针。 INTSIZEOF 宏,获取类
阅读全文
C++中的RAII介绍 资源管理
摘要:摘要 RAII技术被认为是C++中管理资源的最佳方法,进一步引申,使用RAII技术也可以实现安全、简洁的状态管理,编写出优雅的异常安全的代码。 资源管理 RAII是C++的发明者Bjarne Stroustrup提出的概念,RAII全称是“Resource Acquisition is Initia
阅读全文
C++ explicit关键字详解
摘要:首先, C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式). 那么显示声明的构造函数和隐式声明的有什么区别呢? 我们
阅读全文
C++类型前置声明
摘要:前言 本文总结了c++中前置声明的写法及注意事项,列举了哪些情况可以用前置声明来降低编译依赖。 前置声明的概念 前置声明:(forward declaration), 跟普通的声明一样,就是个声明, 没有定义。之所以叫前置声明,看下面一小段代码: 因为是在使用这个类型Userful之前告诉编译器,“
阅读全文
特定于类的内存管理---《C++必知必会》 条款36
摘要:我们可以量身定制 operator new 和 operator delete 用于某个类类型,而不是必须使用标准版的 operator new 和 operator delete。 注意:我们不可以对 new 和 delete 操作符做什么,它们的行为是固定的。但是我们可以改变 它们所调用的 op
阅读全文
C++深入理解虚函数
摘要:为什么使用虚函数?什么是虚函数?虚函数是为了解决什么问题? 面向对象的三大特征: 封装 多态 继承 什么是多态? 相同对象收到不同消息或不同对象收到相同消息时产生的不同的动作。 静态多态 vs 动态多态 [-:>静态多态也叫做早绑定 如上面的代码,他们函数名相同,参数个数不同,一看就是互为重载的两个
阅读全文
C++ string 类
摘要:标准c++中string类函数介绍注意不是CString之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值
阅读全文
FILE 文件的使用 (VC、BCB、Qt)
摘要:用于输入程序运行过程中的需查看的信息 ; 用于存取固定格式的数据; 用于存取无格式的数据; 适用平台:visual C++6.0 、BCB、QT
阅读全文
placement new--《C++必知必会》 条款35
摘要:placement new是重载operator new的一个标准、全局的版本,它不能被自定义的版本代替(不像普通的operator new和operator delete能够被替换成用户自定义的版本)。 placement new原型为: operator new的原型为: 首先我们区分下几个容易
阅读全文
浙公网安备 33010602011771号