1.结构的默认访问类型是public,而类为private2.定义成员函数时,使用作用域解析运算符(::)来标识函数所属的类;3.其定义位于类声明中的函数都将自动成为内联函数。类声明常将短小的成员函数作为内联函数。 也可以使用inline限定符,使函数称为内联函数。 内联函数的特殊规则要求在每个.....
分类:
其他好文 时间:
2015-03-08 18:37:34
阅读次数:
103
1. 过程性编程和面向对象编程2. 抽象和类1. 使用类对象的程序都可以直接访问公有部分,但只能通过公有成员函数(或友元函数)来访问对象的私有成员2. 可以在类声明之外定义成员函数,并使其成为内联函数3. 类的构造函数和析构函数1. 接受一个参数的构造函数允许使用赋值语法将对象初始化为一个值4. t...
分类:
编程语言 时间:
2015-03-06 15:44:22
阅读次数:
146
Block(oc 的数据类型,很常用,本质是c结构体)类似内联函数,从源代码层看,有函数的结构,而在编译后,却不具备函数的性质。编译时,类似宏替换,使用函数体替换调用处的函数名Block封装了一段代码,可以在任何时候执行Block可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值。苹...
分类:
其他好文 时间:
2015-03-04 23:57:14
阅读次数:
181
objc优点:1)Cateogies2)Posing3)动态识别4)指标计算5)弹性讯息传递6)Objective-C与C++可混合编程缺点:1)不支援命名空間2)不支持运算符重载3)不支持多重继承4)使用动态运行时类型,所有的方法都是函数调用,所以很多编译时优化方法都用不到。(如内联函数等),性能低劣。
分类:
其他好文 时间:
2015-02-26 11:50:36
阅读次数:
113
带参宏定义和inline修饰的内联函数都是在编译时,用函数体替换掉宏调用或函数调用。这样用的好处是减少调用函数所花费的时间。例如:算法导论在讲到堆排序时说的,好的堆排序实现一般是把Left(i),Right(i),Parent(i)的实现通过宏定义或内联函数来实现,这就是因为当我们对一组数据使用堆排...
分类:
其他好文 时间:
2015-02-25 12:53:40
阅读次数:
114
C++拾遗--模板元编程
前言
模板元是用于递归加速的,把运行期的函数调用变到编译期进行代码展开,类似于内联函数。下面看一个实例:斐波那契数列第n项求解。
模板元编程...
分类:
编程语言 时间:
2015-02-19 16:22:17
阅读次数:
284
第12章 类 每个类可以没有成员,也可以定义多个成员,成员可以是数据、函数或类型别名。成员函数必须在类内部声明,可以在类内部定义,也可以在类外部定义。如果在类内部定义,就默认是内联函数。内联函数有三种:(1)直接在类内部定义。(2)在类内部声明,加上inline关键字,在类外部定义。(3)在类内部....
分类:
编程语言 时间:
2015-02-13 14:34:13
阅读次数:
168
宏的强大作用在于编译期自动为我们产生代码,可以直接用定义的字符串去替代,增加了代码的可读性。起到了函数的作用而不用去调用函数,比较高效,是用空间换取时间的作法。但是,如果使用不当也会带来问题,这里提几点注意事项。 (1)用宏定义表达式时,要使用完备的括号。 因为宏只是简单的字符替换,宏的参数...
分类:
其他好文 时间:
2015-01-30 15:34:48
阅读次数:
166
内联函数为什么要把函数的声明和函数的定义分开,直接合并的成员函数不是更加简便方便吗?内联函数的好处就是在函数定义处的代码,复制到调用函数处,这样就省去了函数的跳转,增加了效率,内联函数适用于代码少的函数中,不然会导致代码体积过大,反而对程序的运行效率不好,所以我们在使用内联函数的时候,需要注意。#i...
分类:
其他好文 时间:
2015-01-27 01:45:49
阅读次数:
106
在函数返回类型前加上关键字inline就可以将函数指定为内联函数:1 inline const string& shortString(const string &s1, const string &s2) {2 return s1.size() < s2.size() ? s1 : s2;...
分类:
其他好文 时间:
2015-01-09 19:01:32
阅读次数:
212