C/C++要点总结
文章平均质量分 73
面向对象 修修补补
用心做好每一件事
展开
-
C/C++知识点总结(一)
1.函数名称的作用域可以是全局的,但不能是局部的。2.对于不能在类声明中初始化静态数据成员的一种例外情况是,静态数据为整型或枚举型const。3.静态类成员有一个特点,无论创建多少对象,程序都只创建一个静态类变量副本。他与静态类变量存储在一起,而不是存储在对象中。4.声明类只是描述了对象的形式,并没有真正的创建对象,因此在被对象创建之前将没有用于存储值的空间。5.strle原创 2014-04-16 21:55:51 · 806 阅读 · 0 评论 -
枚举(enum)
C++enum工具提供了另一种创建符号常量的方式,原创 2014-08-25 23:20:07 · 1049 阅读 · 0 评论 -
二维数组与指针
二维数组和指针一二维数组和指针1、二维数组和数组元素的地址若有以下定义:int *p, a[3][4]; 1)二维数组a由若干个一维数组组成在C语言中定义的二维数组实际上是一个一维数组,这个一维数组的每一个成员又是一个一维数组。如以上定义的a数组,则可视a数组由a[0]、a[1]、a[2]等三个元素组成,而a[0]、a[1]、a[2]等每个元原创 2014-08-25 23:18:20 · 783 阅读 · 0 评论 -
逗号操作符
不能用逗号操作符将两个声明组合起来,这是因为声明原创 2014-08-25 23:16:46 · 773 阅读 · 0 评论 -
指针与数组的联系和区别
数组、指针的联系和区别以及数组和指针作为函数参数传递时的异同。原创 2014-04-29 22:05:28 · 951 阅读 · 0 评论 -
C/C++知识点总结(七)
63.C和C++中的内建集合都实现了两种不同的方法,复制对于这两种方法来说含义各不相同: 。结构体实现值语义:复制完成后,两个变量都有这个值的独立的副本。 。数组实现引用语义:复制完成后,两个变量都引用同一个底层对象。64.不同类型的容器不应该存在继承关系士收一个参数的构造函数定义了从参数类型到类类型的转换。如果使用了关键字explicit限定了这种构造函数,则它只能用于显原创 2014-04-16 22:33:59 · 607 阅读 · 0 评论 -
C++中面向对象的理解
1、对于OO(面向对象)的含义,并不是每个人的看法都是相同的。即使在现在,如果问十个人,可能会得到15种不同的答案。几乎所有的人都会同意继承和多态是OO中的概念。大多数人还会再加上封装。还有一些人会加上异常处理,而可能会没有人将模板也包含进去。问题的关键在于:对于某个特性是否是属于OO的,往往都存在着不同的观点,而每一种观点都有着热情的拥护者。2、C++的标准化工作对C++最重要的贡献原创 2014-07-23 00:22:13 · 1568 阅读 · 0 评论 -
C/C++知识点总结(三)
21.必须在声明引用时进行初始化。22.对于参数列表的函数,必须从右向左添加默认值。也就是说,要为某个参数设置默认值,则必须为它右边的所有参数提供默认值;实参按从左到右的顺序依次被赋给相应的形参,而不能跳过任何参数;只有原型指定了默认值,函数定义与没有默认参数时完全相同。23.将源代码中的函数调用解释为执行特定的函数代码块被称为函数名联编。在编译过程中进行联编被称为静态联编(sta原创 2014-04-16 22:00:02 · 836 阅读 · 0 评论 -
C/C++知识点总结(六)
52.函数对象提供了一种方法,将要调用的函数与准备传递给这个函数的隐式参数捆绑起来。53.和在C中一样,C++不可能有函数类型的变量,所以任何声明这种变量的企图都将立即被转换成指向函数的指针声明。和在C中一样,所有对函数指针的调用都等价与对这个指针所指向的函数的调用。54.C和C++的一个约定,两个或两个以上只用空格(包括换行符)分隔的字符串(用双引号引住)在编译时被联合起来当作一原创 2014-04-16 22:17:25 · 999 阅读 · 2 评论 -
C/C++知识点总结(四)
31.如果文件名包含在尖括号中,则C++编译器将在存储标准头文件的主机系统的文件系统中查找;如果文件名包含在双引号中,则编译器将首先查找当前的工作目录或源代码目录,如果没有在那里找到头文件,则将在标准位置查找。32.作用域描述了名称在文件的多大范围内可见;链接性描述了名称如何在不同的单元间共享。链接性为外部的名称可在文件间共享,链接性为内部的名称只能由一个文件中的函数共享。自动变量的名原创 2014-04-16 22:01:41 · 850 阅读 · 0 评论 -
C/C++知识点总结(五)
41.size_type是一个依赖于实现的整型,是在头文件string中定义的。string类将string::npos定义为字符串的最大长度,通常为无符号int的最大值。42.对象名不同于数组名,不会被看作是对象的地址。43.string.h和cstring支持对C风格字符串进行操纵的C库字符串函数,但不是支持string类。44.getline()将丢弃换行符,而get()原创 2014-04-16 22:08:17 · 779 阅读 · 0 评论 -
静态成员变量和静态成员函数
数据成员可以分静态变量、非静态变量两种. 静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态成员不能访问非静态的成员..因为静态成员存在于内存,所以非静态成员可以直接访问类中静态的成员.非成静态员:所有没有加Static的成员都是非静态成员,当类被实例化转载 2014-04-20 14:32:20 · 746 阅读 · 0 评论 -
预处理器的小结
1.对程序作预处理前,编译器会对它进行几次翻译处理。 。首先把源代码中出现的字符映射到源字符集。 。编译器查找反斜线后紧跟换行符的实例并删除这些实例。 。编译器将文本划分成预处理的预言符号序列和空白字符及注释序列。注意的一点是编译器用一个空白字符代替每一个注释。2.预处理器不进行计算,它只是按照指令进行文字替换操作。3.宏常量可以用来指定标准数组的大小并作为原创 2014-04-16 22:53:23 · 646 阅读 · 0 评论 -
C/C++知识点总结(二)
11.按值传递意味着创建原始变量的一个副本。12.默认的复制构造函数逐个复制非静态成员(成员复制也称为浅复制),复制的是成员的值。13.将已有的对象赋给另一个对象时,将使用重载的赋值操作符,初始化对象时不一定使用赋值操作符。14.决不会用作基类的类是不需要虚析构函数的:任何虚函数只在继承的情况下才有用。15.如果不想用户能够复制类的对象,就声明复制构造函数(可能还有赋值操作原创 2014-04-16 21:57:51 · 988 阅读 · 0 评论