文章分类 - c/c++
摘要:先来看看CString的使用:先定义几个以后会用到的变量:CString str1, str2, str3;概括说明:MFC对CString类的封装可能的确不如std::string完善,但是也的确不错,功能也足够强大,使用上还很体贴。其基本特征为:CString类没有基类。CString类和LPC...
阅读全文
摘要:今天在调试程序是发现了一个错误:fatal error C1010: unexpected end of file while looking for precompiled header directive分析:工程头文件处理的错误。解决:1、右键点工程名,选设置,然后选c/c++属性页,再选ca...
阅读全文
摘要:MFC下的常用字符串数据类型表示的含义:L:Point 指针 C:Const 常量 W:Wchar_t 宽字符 T:TCHAR STR:String 字符串在看看MFC下各种数据类型的定义: 1 typedef char *LPSTR; 2 typedef const cha...
阅读全文
摘要:http://bbs.csdn.net/topics/390379682
阅读全文
摘要:控制台窗口界面编程控制〇、摘要一、概述二、控制台文本窗口的一般控制步骤三、控制台窗口操作四、文本属性操作五、文本输出六、文本操作示例七、滚动和移动八、光标操作九、读取键盘信息十、读取鼠标信息十一、结语补充篇--经典程序(Internet资源)摘要:文本界面的控制台应用程序开发是深入学习C++、掌握交...
阅读全文
摘要:用vs2010编写的程序经常会发生的一个问题。在自己的机器上运行的好好的,但是在别的机器上就会发生没有找到MSVCR100D.dll。这是 个很头疼的问题。对于一些代码量几百行的小程序,我不可能要求其他电脑也一定要配有MSVCR100D.dll这个dll。当然解决方法也有,但是我也不 可能要求所有的...
阅读全文
摘要:C++:STL标准入门汇总学无止境!!!第一部分:(参考百度百科)一、STL简介STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。现在虽说它主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的一段时间。STL的代码从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(迭代器),几乎所有的代码都采用了模板类和模版函数的方式,这相比于传统的由函数和类组成的库来说提供了更
阅读全文
摘要:我们先定义一些常见类型变量借以说明:int i = 100;long l = 2001;float f=300.2;double d=12345.119;char username[]="女侠程佩君";char temp[200];char *buf;CString str;_variant_t v1;_bstr_t v2; 一、其它数据类型转换为字符串短整型(int)itoa(i,temp,10);///将i转换为字符串放入temp中,最后一个数字表示十进制itoa(i,temp,2); ///按二进制方式转换 长整型(long)ltoa(l,temp,10); 二、从其它包含字符串的变量中
阅读全文
摘要:C++类型转换总结C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是:TYPE b = (TYPE)a。C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。const_cast,字面上理解就是去const属性。static_cast,命名上理解是静态类型转换。如int转换成char。dynamic_cast,命名上理解是动态类型转换。如子类和父类之间的多态类型转换。reinterpret_cast,仅仅重新解释类型,但没有进行二进制的转换。4种类型转换的格式,如:TYPE B = static_cast(TYPE)(a)。const_cast去掉类型的co
阅读全文
摘要:MFC命名规则:Windows类型样本变量MFC类样本变量HWNDhWnd;CWnd*pWnd;HDLGhDlg;CDialog*pDlg;HDChDC;CDC*pDC;HGDIOBJhGdiObj;CGdiObject*pGdiObj;HPENhPen;CPen*pPen;HBRUSHhBrush;CBrush*pBrush;HFONThFont;CFont*pFont;HBITMAPhBitmap;CBitmap*pBitmap;HPALETTEhPaltte;CPalette*pPalette;HRGNhRgn;CRgn*pRgn;HMENUhMenu;CMenu*pMenu;HWNDh
阅读全文
摘要:C++中的纯虚函数在C++中的一种函数申明被称之为:纯虚函数(pure virtual function).它的申明格式如下:class CShape{public: virtual void Show()=0;};注意红色部分,在普通的虚函数后面加上"=0"这样就声明了一个pure virtual function. 在什么情况下使用纯虚函数(pure vitrual function)?1,当想在基类中抽象出一个方法,且该基类只做能被继承,而不能被实例化;2,这个方法必须在派生类(derived class)中被实现; 如果满足以上两点,可以考虑将该方法申明为pure
阅读全文
摘要:1. 模板的概念。我们已经学过重载(Overloading),对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同。正确的调用重载函数。例如,为求两个数的最大值,我们定义MAX()函数需要对不同的数据类型分别定义不同重载(Overload)版本。//函数1.int max(int x,int y);{return(x>y)?x:y ;}//函数2.float max( float x,float y){return (x>y)? x:y ;}//函数3.double max(double x,double y){return (c>y)? x:y ;}但如果在主
阅读全文
摘要:大家好,这里是首届C++模板武道会的现场,本次武道会由beyond_ml做东,第一场解说员为beyond_ml。由于首次举办这样规模空前的盛会,难免有疏漏之处,还请各位高手不吝赐教。Beyond_ml有理啦。同时也欢迎各位大虾把此次武道会看做是一个虚基类,不断继承,派生出新的比赛。比赛开始:首先介绍比武参赛者:Vector:金山词霸翻译成:矢量,向量等,C++容器模板中的大哥大,就像是一个加强版的队列,之所以这样说,是因为它不但有队列形式的索引,还能动态的添加扩充。使用尤其广泛,并且在许多经典教材中被作为重点介绍。特点:把被包含的对象以数组的形式存储,支持索引形式的访问(这种访问速度奇快无比)
阅读全文
摘要:引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确、灵活地使用引用,可以使程序简洁、高效。引用简介引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法:类型标识符 &引用名=目标变量名;【例1】:int a; int &ra=a; //定义引用ra,它是变量a的引用,即别名 说明:(1)&在此不是求地址运算,而是起标识作用。(2)类型标识符是指目标变量的类型。(3)声明引用时,必须同时对其进行初始化。(4)引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,且不能再把该引用名作为其他变量名的别名。ra=
阅读全文
摘要:在看一些书籍的时候,发现他们的代码,变量定义的位置很随意,哪儿用哪儿定义,然后我在vc6上测试的时候,发现我只能定义在函数的开头,不然就会报错,后来终于发现问题所在,我新建的源文件的后缀名是c而不是cpp,也就是说不同的后缀名使用的编译器是不同的
阅读全文
摘要:今天写线程函数时,发现msdn中对ThreadProc的定义有要求:DWORD WINAPI ThreadProc(LPVOID lpParameter);不解为什么要用WINAPI宏定义,查了后发现下面的定义。于是乎需要区别__stdcall和__cdecl两者的区别; #define CALLBACK __stdcall#define WINAPI __stdcall#define WINAPIV __cdecl#define APIENTRY WINAPI#define APIPRIVATE __stdcall#define PASCAL __stdcall#define cdecl _
阅读全文
摘要:C语言堆栈入门——堆和栈的区别原文:http://student.csdn.net/link.php?url=http://www.top-e.org%2Fjiaoshi%2Fhtml%2F427.html格式和部分内容稍作修改。在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,堆栈是一个很模糊的概念。堆栈:一种数据结构、一个在程序运行时用于存放的地方,这可能是很多初学者的认识,因为我曾经就是这么想的和汇编语言中的堆栈一词混为一谈。我身边的一些编程的朋友以及在网上看帖遇到的朋友中有好多也说不清堆栈,所以我想有必要给大家分享一下我对堆栈的看法,有
阅读全文
摘要:1、原则上尽量少使用全局变量,因为全局变量的生命周期太长,容易出错,也会长时间占用空间.各个源文件负责本身文件的全局变量,同时提供一对对外函数,方便其它函数使用该函数来访问变量。比如:niSet_ValueName(…);niGet_ValueName(…);不要直接读写全局变量,尤其是在多线程编程时,必须使用这种方式,并且对读写操作加锁。2、参数命名要恰当,顺序要合理。例如编写字符串拷贝函数str_copy,它有两个参数。如果把参数名字起为str1 和str2,例如 void str_copy (char *str1, char *str2);那么我们很难搞清楚究竟是把str1 拷贝到str
阅读全文
摘要:很多人不重视这点,认为无所谓,甚至国内的绝大多数教材也不讨论这个话题,导致学生入公司后仍要进行编码风格的教育。我接触过很多学生,发现他们由于平时缺乏这种意识,养成了不好的习惯,导致很难改正过来。代码没有注释,变量、函数等命名混乱,过两天自己都看不懂自己的代码。下面是一些我见过的比较好的做法,希望读者能有所收获。1、每一个函数都必须有注释,即使函数短到可能只有几行。头部说明需要包含包含的内容和次序如下:/************************************************************************* Function Name : nucFind
阅读全文
摘要:#也是预处理?是的,你可以这么认为。那怎么用它呢? 别急,先看下面例子: #define SQR(x) printf("The square of x is %d.\n", ((x)*(x)));如果这样使用宏: SQR(8);则输出为: The square of x is 64.注意到没有,引号中的字符x 被当作普通文本来处理,而不是被当作一个可以被替换的语言符号。假如你确实希望在字符串中包含宏参数,那我们就可以使用“#”,它可以把语言符号转化为字符串。上面的例子改一改: #define SQR(x) printf("The square of "#
阅读全文
浙公网安备 33010602011771号