
C++学习笔记
文章平均质量分 50
liufei_learning
这个作者很懒,什么都没留下…
展开
-
C++学习笔记(七)--联合/共用体(union)用法
共用体类型数据的特点1.同一个内存段可以用来存放几种不同类型的成员,但是在每一瞬间只能存放其中的一种,而不是同时存放几种。换句话说,每一瞬间只有一个成员起作用,其他的成员不起作用,即不是同时都在存在和起作用。2.共用体变量中起作用的成员是最后一次存放的成员,在存入一个新成员后,原有成员就失去作用。3.共用体变量的地址和它的各成员的地址都是同一地址。4.不能对共用体变量名赋值,也不能转载 2010-05-25 22:12:00 · 4649 阅读 · 0 评论 -
C++学习笔记(四)--指针(4)
类成员指针 本文主要讨论C++中类成员的指针,这部分内容少有使用,也比较难于理解。 如果文中有错误或遗漏之处,敬请指出,谢谢! 需要使用类成员指针的情况是比较少见的,所以一般没人使用这个语言特性。下面先介绍类成员指针的使用方法,再介绍它的可能应用场合。 有时,我们需要在类外的其它地方直接获得类成员,这时我们就需要使用类转载 2010-04-03 14:13:00 · 1560 阅读 · 0 评论 -
C++学习笔记(四)--指针(3)
C++指向类成员的指针的使用(详细介绍) 1.首先普通函数指针不能被赋值为成员函数的地址,即使返回类型和参数完全匹配。例如:下面是的pfi是一个普通函数指针,它没有参数,返回类型为int: int (*pfi)();若有两个全局函数,HeightIs()和WidthIs(): int HeightIs(); int WidthIs();则下面的的赋值操作是合法的:转载 2010-04-03 14:12:00 · 1823 阅读 · 0 评论 -
C++学习笔记(四)--指针(2)
回调函数和函数指针 最近在看代码,写代码的人很喜欢用回调函数和函数指针。一直觉得回调函数和函数指针挺神秘的,所以查了一些资料,来与大家一起来分享。什么是回调函数简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。为什么要使用回调函数 因为使用回调函转载 2010-04-03 14:11:00 · 1745 阅读 · 0 评论 -
C++学习笔记(六)--模板(2)
断断续续地看了《C++Templates》很长时间,在叹服于模板的神奇之余,也不得不承认这是一块充满陷阱的湿地。每次想要动手神奇一把,都会被某编译错误给无情地挡回;看英文似的,水平不够,只能“读得懂,写不出”;成了饥饿的小白鼠,远处放着奶酪,近处却是一鼠夹。此次总结,希望把最近的模板实践都剖析出要点,避免再犯相同的错误。模板的魅力当前,对于多数C++程序员来说,模板常常意味着类型的简单替换转载 2010-04-01 23:46:00 · 2098 阅读 · 0 评论 -
C++学习笔记(五)--虚函数表解析
前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。 关于虚函数的使转载 2010-04-01 23:41:00 · 2632 阅读 · 4 评论 -
C++学习笔记(四)--指针(1)
函数存放在内存的代码区域内,它们同样有地址,我们如何能获得函数的地址呢? 如果我们有一个int test(int a)的函数,那么,它的地址就是函数的名字,这一点如同数组一样,数组的名字就是数组的起始地址。定义一个指向函数的指针用如下的形式,以上面的test()为例:int (*fp)(int a);//这里就定义了一个指向函数的指针函数指针不能绝对不能指向不同类型,或者是带转载 2010-04-01 23:38:00 · 3069 阅读 · 0 评论 -
C++学习笔记(四)--虚函数表解析
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。 关于虚函数的使用方法,我在这里不做过多转载 2010-03-25 10:25:00 · 625 阅读 · 1 评论 -
C++学习笔记(三)---static用法
static用法声明静态局部变量希望函数中的局部变量的值在函数调用结束后不消失而保留原值,即其占用的储存单元不释放,在下一次该函数调用时,该变量保留上一次函数调用结束时的值.这时就应该指定该局部变量为静态局部变量.声明静态全局变量某些外部变量(全局变量)之限于被本文件引用,而不能被其他文件引用.声明静态数据成员静态数据成员在所有对象之外单独开辟空间静态数据原创 2010-03-23 23:24:00 · 2813 阅读 · 1 评论 -
C++学习笔记(六)--模板(1)
1.类模板与模板类的概念⑴什么是类模板 一个类模板(也称为类属类或类生成类)允许用户为类定义一种模式,使得类中的某些数据成员、默写成员函数的参数、某些成员函数的返回值,能够取任意类型(包括系统预定义的和用户自定义的)。 如果一个类中数据成员的数据类型不能确定,或者是某个成员函数的参数或返回值的类型不能确定,就必须将此类声明为模板,它的存在不是代表一个具体的、实际的类,而是代表着一类类转载 2010-03-08 12:11:00 · 1892 阅读 · 0 评论 -
C++学习笔记(二)--基础知识
1.逗号操作符逗号表达式是一组由逗号分割的表达式,这些表达式从左向右计算。逗号表达式的结果是其最右边表达式的值。如果最右边的操作数是左值,则逗号表达式的值也是左值。此类表达式通常用于for循环: int cnt = ivec.size();原创 2009-12-30 23:17:00 · 4150 阅读 · 0 评论 -
C++学习笔记(一)--基础知识sizeof用法
sizeof sizeof操作符的作用是返回一个对象或类型名的长度,长度的单位是字节。返回值的类型是标准库命名为size_t的类型,size_t类型定义在cstddef头文件中,该头文件是C标准库的头文件stddef.h的C++版本。他是一个和机器相关的unsigned类型,其大小足以保证内存中对象的大小。 1、什么是sizeof 首先看一下sizeof在msdn上的定义:转载 2009-12-27 23:39:00 · 12442 阅读 · 20 评论