摘要:\ pragram once与\ ifndefine防止头文件重复编译的区别 ifndefine... define... endif 是C/C++语言的宏定义,通过宏定义可以避免头文件重复包含。 优点:与编译器无关,因此可以跨平台使用; 缺点:(1)对于每一个头文件都必须有独特的宏定义名称,一旦出
阅读全文
摘要:C++中几种测试程序运行时间的方法 参考:http://blog.csdn.net/u012286517/article/details/50331865 1.GetTickCount()函数 原理: GetTickCount()是获取系统启动后的时间间隔。通过进入函数开始定时,到退出函数结束定时,
阅读全文
摘要:win32控制台程序使用CfileDialog进行文件读取 示例程序: 获取图片读取路径 int _tmain(int argc, _TCHAR argv[]) { //初始化MFC或者设置资源句柄(否则下面使用MFC库会断言出错) //AfxWinInit(::GetModuleHandle(NU
阅读全文
摘要:strlen与sizeof strlen 是一个 函数 ,运行时才能计算。 声明: size_t strlen(const char string); 说明: (1) 操作对象只能是char ,当然相应的数组char[]也行; (2) strlen返回的是字符串大小,从开始到第一个'\0'为止,不包
阅读全文
摘要:C++中路径操作 1.获取当前应用程序所在路径 1.1 方法:GetModuleFileName GetModuleFileName声明: DWORD WINAPI GetModuleFileName( _In_opt_ HMODULE hModule, _Out_ LPTSTR lpFilenam
阅读全文
摘要:CString、string、char 之间的转化 CString:MFC中定义的字符串类型,有很多很方便的操作函数,如Format函数(可以将各种类型转化为CString类型) string:C++中标准字符串类 char ,char[]:C风格字符串,以'\0'结尾 1.char 转string
阅读全文
摘要:c++中auto与decltype 1.auto C++11中引入auto类型说明符,可以让编译器通过初值分析变量所属类型。故该类型变量 必须在定义时初始化 。 特点: (1) 自动分析变量类型; (2) 不可以和int、float等其他类型说明符一起使用; (3) 会忽略掉顶层const属性,故可
阅读全文
摘要:C++四中强制类型转换 注:类型转换干扰了正常的类型检查,一般情况下尽量少用。 C风格: Type a = (Type)b; C++风格(4种): (1) static_cast<Type>(expression); (2) dynamic_cast<Type>(expression); //支持运
阅读全文
摘要:编译错误 1.error C1010: 原因: 没有在文件开头添加include "stdafx.h"。 2.error C2440: “=”: 无法从“const char [25]”转换为“LPCWSTR” 原因: 字符类型问题 解决方法: 将此句 wndClass.lpszClassName
阅读全文
摘要:memset void memset( void dest, int c, size_t count ); dest: Pointer to destination c: Character to set count: Number of characters 注意:这里count代表字符个数(字节
阅读全文
摘要:一·书写问题 1. 括号: 左右大括号最好都放在左侧,这样可以很清楚大括号的看清配对情况以及作用域,便于检查也不易出错。 2. 强制转换: 强制转换表达式时一定要加括号,否则可能只转换了表达式中的单个量,可能并不报错,但运行时会出现意想不到的问题,也不易检查。 二·MFC问题 1.VS中MFC程序对
阅读全文
摘要:opencv的Mat图像显示在MFC控件中 方法: 只需要给Mat图像建立一个位图信息头即可; 例: 头文件中(.h)成员: cv::Mat m_image BITMAPINFO m_imgInfo; 源文件中(.cpp): BOOL CPointMatchDlg::OnInitDialog() {
阅读全文
摘要:MFC获取读取图像的目录 方法一:利用CFileDialog中的m_ofn.lpstrFile属性 对话框: CFileDialog dlgL(TRUE, NULL, NULL, OFN_ALLOWMULTISELECT | OFN_HIDEREADONLY | OFN_OVERWRITEPROMP
阅读全文
摘要:scanf简单使用 简单示例: 输入一个m行n列的整数数组 2 5 1 9 3 6 5 5 3 7 10 2 scanf输入: int m=0,n=0; //(a) int array = NULL; //(b) scanf("%d %d", &m,&n); //(c) //cin m n; arr
阅读全文
摘要:MFC中添加"附加包含目录"、“附加包含目录”以及“附加库目录” 1.附加包含目录 方法: (1)[解决方案资源管理器]:右键项目 属性 配置属性 C/C++ 常规 附加包含目录; (2)[菜单]:工具 选项 项目和解决方案 C++目录,选择对应平台,然后添加所需“包括文件”目录; 功能: 添加的是
阅读全文
摘要:一.指针 1简介: 数组名也是一种指针; 指针的一生(三部分)注意: (a)初始:化程序中一定要对指针、句柄进行初始化,否则随机赋值时指针乱指会对程序造成严重影响; (b)赋值:注意深拷贝与浅拷贝;当深拷贝时注意一定要保证指针不指向NULL,否则会报错(因为不能向NULL地址赋值);若指向NULL,
阅读全文
摘要:floor、ceil、round、fix 作用: 对double、float数据取整; 头文件: math.h floor(x):不大于x的最大整数; ceil(x):不小于x的最小整数; round(x):四舍五入到最近整数; fix(x):截断取整函数。 例 floor( 2.1) = 3; f
阅读全文
摘要:1.函数重载、隐藏和覆盖区别 共同点: 函数名相同 位置: 发生在 同一个类当中 —— 重载 。函数的参数类型或者数量不同,仅返回值不同则不能成为重载; 发生在 派生类与基类 之间—— 覆盖或者隐藏 覆盖与隐藏区别 - 覆盖: 要求派生类与基类中的两个函数 完全相同 (参数类型、个数、返回值完全相同
阅读全文