
C++
ghhong
学会取舍,但绝不放弃!
展开
-
关键子static
static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。面向过程设计中的static全局变量、局部变量、静态全局变量、静态局部变量的区别C++变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为6种:全局作用域,局部作用域,语句作用域,类作用域,命名空间作用域和文件作用域。从转载 2010-02-27 22:47:00 · 418 阅读 · 0 评论 -
C++ 类型转换
<br /><br />在C++中,进行算术运算前通常需要对操作数进行类型转换,特别是对两个类型不同的操作数,往往要把它们转换成相同类型。算术运算的结果类型与转换后的操作数类型相同。<br /> C++的类型转化方式有两种:隐式转换和显式转换。隐式转换由编译程序按照某种预定的规则进行自动转换;显式转换由写程序的人在程序中用类型转换操作符明确地指出转换。<br /> 当操作数的类型为算术类型或者枚举类型时,在进行算术运算前,编译程序将按照常规算术转换规则(usual arithmeti转载 2010-11-08 21:22:00 · 624 阅读 · 0 评论 -
对“仅通过崩溃地址找出源代码的出错行”一文的补充与改进 /原文
<br />读了老罗的“仅通过崩溃地址找出源代码的出错行”(下称"罗文")一文后,感觉该文还是可以学到不少东西的。不过文中尚存在有些说法不妥,以及有些操作太繁琐的地方 。为此,本人在学习了此文后,在多次实验实践基础上,把该文中的一些内容进行补充与改进,希望对大家调试程序,尤其是release版本的程序有帮助 。欢迎各位朋友批评指正。<br /><br /><br />一、该方法适用的范围<br /> 在windows程序中造成程序崩溃的原因很多,而文中所述的方法仅适用与:由一条语句当即引起的程序崩溃。如原转载 2010-11-05 13:36:00 · 1306 阅读 · 0 评论 -
对“仅通过崩溃地址找出源代码的出错行”一文的补充与改进 /原文
<br />读了老罗的“仅通过崩溃地址找出源代码的出错行”(下称"罗文")一文后,感觉该文还是可以学到不少东西的。不过文中尚存在有些说法不妥,以及有些操作太繁琐的地方 。为此,本人在学习了此文后,在多次实验实践基础上,把该文中的一些内容进行补充与改进,希望对大家调试程序,尤其是release版本的程序有帮助 。欢迎各位朋友批评指正。<br /><br /><br />一、该方法适用的范围<br /> 在windows程序中造成程序崩溃的原因很多,而文中所述的方法仅适用与:由一条语句当即引起的程序崩溃。如原转载 2010-11-05 13:36:00 · 454 阅读 · 0 评论 -
MFC中ASSERT()和VERIFY()区别
<br /><br />1 ASSERT与VERIFY宏在Debug模式下作用基本一致,二者都对表达式的值进行计算,如果值为非0,则什么事也不做;如果值为0,则输出诊断信息。 <br />2 ASSERT与VERIFY宏在Release模式下效果完全不一样。ASSERT不计算表达式的值,也不会输出诊断信息;VERIFY计算表达式的值,但不管值为0还是非0都不会输出诊断信息。<br /> <br />断言(assertion)用带断言信息(程序, 模块, assertion行)的对话框执行. 对话框转载 2010-10-09 17:38:00 · 7879 阅读 · 0 评论 -
局部变量、全局变量、堆、堆栈、静态和全局
<br />一般全局变量存放在数据区,局部变量存放在栈区, <br />动态变量存放在堆区,函数代码放在代码区。 <br />--------------------------------------------------------------- <br />栈区是普通的栈数据结构,遵循LIFO后进先出的规则,局部变量安排在那里是ASM时就规定的,这样可以在一个函数结束后平衡堆栈,操作简单,效率高 <br />堆(动态区)在这里应当叫堆栈(不要和数据结构中的堆搞混)是程序在编译时产生的一块用于产生动态转载 2010-10-10 14:18:00 · 543 阅读 · 0 评论 -
C++资源之不完全引导
前言 无数次听到“我要开始学习C++!”的呐喊,无数次听到“C ++太复杂了,我真的学不会”的无奈。Stan Lippman先生曾在《C++ Primer》一书中指出“C++是最为难学的高级程序设计语言之一”,人们常将“之一”去掉以表达自己对C++的敬畏。诚然,C++程序设计语言对于学 习者的确有很多难以逾越的鸿沟,体系结构的庞大,应接不暇并不断扩充的特性……除此之外,参考资料之多与冗转载 2010-04-10 13:27:00 · 731 阅读 · 0 评论 -
位运算口诀和应用
位运算应用口诀 清零取反要用与,某位置一可用或 若要取反和交换,轻轻松松用异或 移位运算 要点: 1 它们都是双目运算符,两个运算分量都是整形,结果也是整形。 2 " 3 ">>"右移:右边的位被挤掉。对于左边移出的空位,如果是正数则空位补0,若为负数,可能补0或补1,这取决于所用的计算机系统。 4 ">>>"运算符,右边的位被挤掉,对于左边移出的空位一概补上0。转载 2010-02-28 02:13:00 · 374 阅读 · 0 评论 -
流类库与输入输出 (二)
(三)输出文件流成员函数 输出流成员函数有三种类型: &S226;与操纵符等价的成员函数。 &S226;执行非格式化写操作的成员函数。 &S226;其他修改流状态且不同于操纵符或插入运算符的成员函数。 对于顺序的格式化输出,可以仅使用插入运算符和操纵符。对于随机访问二进制磁盘输出,使用其他成员函数,使用或不使用插入运算符。 1.输出流的ope转载 2010-02-28 00:22:00 · 1500 阅读 · 0 评论 -
流类库与输入输出 (一)
就像C语言一样,C++语言中也没有输入/输出语句。但C++编译系统带有一个面向对象的输入/输出软件包,它就是I/O流类库。流是I/O流类的中心概念。首先介绍流的概念,然后介绍流类库的结构和使用。对于流类库中类的详细说明及类成员的描述,请读者查阅所使用的编译系统的运行库参考手册。 一、I/O流的概念 使用VC++6.0在程序中实现I/O有几种方法: C运行库直接非缓冲的I/O转载 2010-02-28 00:19:00 · 1462 阅读 · 0 评论 -
C++虚函数表解析(比较精辟)
<br /> <br />C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。<br />关于虚函数的使用方法,我在这里不做过多的阐述。大家可以看看相关的C++的书籍。在这篇文章中,我只想从虚函数的实现机制上转载 2010-11-10 02:21:00 · 463 阅读 · 0 评论