
C++笔记
文章平均质量分 53
lingdxuyan
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
宏使用技巧
宏定义用来定义代表特殊内容的标识符,编译时预处理程序会把宏替换成宏定义时指定的值!使用技巧:1、防止重复包含头文件#ifndefine _HEADER_H_#define _HEADER_H_#include "header.h"#endif上面的代码防止了header.h被工程重复包含 2、_DEBUG宏的使用_DEBUG是编译器留给我们的预编译属性。在vc编原创 2009-07-12 22:26:00 · 868 阅读 · 0 评论 -
VC++6.0操作excel2007文件封装类CExcelServer
转载请注明出处:VC++6.0操作excel2007文件封装类CExcelServer参考文章:1、VC操作Excel文件编程相关内容总结2、VC++导出数据到Excel3、VSTO学习笔记(二)Excel对象模型利用VC操作Excel的方法至少有两种:1、利用ODBC把Excel文件当成数据库文件,来进行读、写、修改等操作。网上有人编写了CSpreadSheet类原创 2013-04-20 17:28:15 · 4662 阅读 · 2 评论 -
VC/MFC类向导ClassWizard的Parsing error错误
我在vc6.0中打开ClassWizard时出现以下:Parsing error: Illegal line encountered.Input Line: "methods: "通过查找"methods: ,定位到错误应该出现到以下代码中 properties: // NOTE - ClassWizard will maintain property information here. // Use extreme caution when editing this section原创 2010-08-28 12:05:00 · 4991 阅读 · 1 评论 -
0xC0000005: Access Violation程序关闭时砰一声——指针与内存释放问题
程序关闭时出现了“砰”一声警报,我马上就想到可能指针释放有问题!但这也是最头痛的问题,指针出问题有时不是一两天就能解决的事!但也没办法,时间不多了,只能硬着头皮查!我先在不设断点的情况下,用调试运行一下程序!一下子杀出了两个地方漏内存(这群臭家伙居然申请了空间,居然忘了释放,代码是我们一个团队写的!)这下看来我要好好看看各个类的成员指针,发现第二个问题指针申请和释放写的很乱,有些成员指针也原创 2009-07-09 20:17:00 · 4746 阅读 · 2 评论 -
1.3循环语句技巧
循环语句最重要的作用是降低循环体的复杂性,提高循环体的效率!书写循环语句时应注意:1、cpu跨循环层执行的次数直接影响程序的效率。因此,编写多重循环时,应当将最低的循环放最外层,最长的循环放最里层,以减少cpu跨循环层执行的次数;如:for( int i=0; i{ for( int j=0; j { sum原创 2009-07-05 21:56:00 · 1556 阅读 · 0 评论 -
1.1注释与命名规则
注释通常用于:1、版本、版权声明;2、函数接口声明;3、重要代码行提示添加注释的注意事项:1、注释量一般占代码量的40%;2、注释放在代码上方或右方;3、函数定义前加一个合适的函数头,说明该函数的功能、参数、返回值等4、边写代码边写注释,保证注释与代码的一致性,修改代码时必须同时修改注释,没用的注释删除;5、避免在注释中使用缩写;6、代码比较长时,尤其是有多原创 2009-07-03 22:01:00 · 707 阅读 · 0 评论 -
函数设计规则
一、函数体设计规则1、函数功能要单一,函数体规模要小,尽量控制在50行代码内;2、避免函数带有“记忆”功能,即相同的输入产生相同的输出,而带有“记忆”功能的函数,其行为是不可预测的,输出可能受某种“记忆状态”的影响;3、检查输入参数的有效性,检查通过其他路径进去函数体内的变量的有效性;4、用于出错的返回值一定要清楚;5、使用断言捕捉非法情况;不要混淆非法情况与错误情况,后者是必原创 2009-07-06 22:09:00 · 1190 阅读 · 0 评论 -
1.2复合表达式与if语句书写技巧
复合表达式由常量、变量、函数和运算符组成书写应注意:1、不要过于复杂如:x=y>z || a=i-c 2、不要与数学表达式混淆如:if( x 3、运算符优先级和结合性直对结果的影响 4、表达式中有些部分可能没参加运算如:int a=1,b=2 if( a cout输出结果为1a if语句书原创 2009-07-04 21:38:00 · 2613 阅读 · 0 评论 -
CListCtrl::InsertColumn出错
今天在写一个获取磁盘信息的小程序,通过list控件显示各磁盘信息。我在属性页(CPropertyPage)的构造函数中,调用list控件的InsertColumn方法,编译链接都通过了,但运行时冒出了一个Debug Assertion Failed!提示 我就改用调试方式运行,再弹出该对话框时,选择重试,最后程序中断指向了_AFXCMN_INLINE int CListCt原创 2009-08-05 13:43:00 · 7353 阅读 · 4 评论 -
delete释放空间时出错的原因!
int *a=new int[10]; ...... delete []a; ---------------------------------------------------------- 当后面delete []a;出现错误的情况大致有: 1 数组的首地址a被你有意无意更改了,如:a++之类的; 2 变量的作用域问题,如:你是在一个原创 2009-05-24 21:22:00 · 945 阅读 · 2 评论 -
关于“error LNK2005:…… already defined in”的解决办法
语音Dlg.obj : error LNK2005: "public: void __thiscall CMFCC::InitMelFilterBanks(float,float,int,int)" ([email=?InitMelFilterBanks@CMFCC@@QAEXMMHH@Z]?InitMelFilterBanks@CMFCC@@QAEXMMHH@Z[/email]) already原创 2009-05-24 21:20:00 · 3790 阅读 · 6 评论 -
error LNK2019 无法解析的外部符号 vs2005
这两天在写一个进程管理器,用到了Psapi.h中的一些进程函数。我将Psapi.h包含到源代码中,但链接时出现了4个LNK2019错误,都是Psapi.h中的函数引起的无法解析的外部符号。 错误 2 error LNK2019: 无法解析的外部符号 _GetModuleFileNameExW@16,该符号在函数 "public: class ATL::CStringT > > __this原创 2009-07-29 10:21:00 · 10468 阅读 · 9 评论 -
_stdcall、_cdecl与_fastcall
被_stdcall、_cdecl或_fastcall修饰的函数,其参数都是从右向左通过堆栈传递的(__fastcall的前面部分由ecx,edx传),函数调用在返回前要清理堆栈,但由调用者还是被调用者清理不一定。 1、_stdcall是Pascal程序的缺省调用方式,通常用于Win32 Api中,函数采用从右到左的压栈方式,自己在退出时清空堆栈。VC将函数编译后会在函数名前面加上原创 2009-07-17 22:32:00 · 1003 阅读 · 0 评论 -
CString::CompareNoCase与CString::Compare的区别
函数原型:int CompareNoCase( LPCTSTR lpsz ) const;返回值:该函数对两个CString对象进行,如果内容完全一致则返回0;如果小于lpsz,则返回为-1;如果大于lpsz,则返回1。比如,利用CompareNoCase比较str与lpsz,等同于区分大小写比较str与lpsz的第一个相异字符,如果str该处的字符比lpsz大,则字符串str大于lpsz,返回1原创 2009-07-19 21:46:00 · 32674 阅读 · 2 评论 -
链接器中三个最重要的动态链接库kernel32.dll、user32.dll、gdi32.dll的作用
kernel32.dll是Windows9x/Me中非常重要的32位动态链接库文件,属于内核级文件。它控制着系统的内存管理、数据的输入输出操作和中断处理,当Windows启动时,kernel32.dll就驻留在内存中特定的写保护区域,使别的程序无法占用这个内存区域。 user32.dll是Windows用户界面相关应用程序接口,用于包括Windows处理,基本用户界面等特性,如创建窗口和发原创 2009-07-14 22:35:00 · 5419 阅读 · 0 评论 -
用VC++创建自定义向导程序
转自:用VC++创建自定义向导程序向导是一种用来简化用户操作的程序。在Microsoft 的所有产品中都存在向导,如Office2000 中的Web 页向导就是一个十分典型的向 导(如下图所示),还有常用的VC++向导。一个基本的向导程序应该包含以下几个基本按钮: 取消、上一步、下一步、完成、帮助 一、标准向导程序在 VC++中,可以使用类CProperty转载 2013-04-20 17:32:39 · 1275 阅读 · 0 评论