poj 3237 tree inline : 1. inline 定义的类的内联函数,函数的代码被放入符号表中,在使用时直接进行替换,(像宏一样展开),没有了调用的开销,效率也很高。 2. 很明显,类的内联函数也是一个真正的函数,编译器在调用一个内联函数时,会首先检查它的参数的类型,保证调用正确。然...
分类:
其他好文 时间:
2014-08-17 01:05:41
阅读次数:
240
为什么要引入内联函数(内联函数的作用)
用它替代宏定义,消除宏定义的缺点。宏定义使用预处理器实现,做一些简单的字符替换因此不能进行参数有效性的检测。另外它的返回值不能被强制转换为可转换的合适类型,且C++中引入了类及类的访问控制,在涉及到类的保护成员和私有成员就不能用宏定义来操作。
1、内联函数与宏定义的区别:
内联函数在编译时展开,可以做一些类型检测处理。宏在预编译时展...
分类:
其他好文 时间:
2014-08-14 01:33:47
阅读次数:
269
??
目
录
1
开始学习C++..............................................................................................................
4
1.1
C++的头文件..............................
分类:
编程语言 时间:
2014-08-09 21:37:30
阅读次数:
858
内联函数(inline):用函数已被编译好的二进制代码替换对函数的调用指令。
只有频繁调用的简单函数才适合内联,稀少被调用的复杂函数和递归函数都不适合内联。
编译生成.s的汇编代码:g++ -S ***.cpp
直接输出指针a地址值:count
以数组形式new的内存指针 int *a=new int [10];,也要以数组形式去delete,如 delete a[];
当指针为...
分类:
编程语言 时间:
2014-08-06 19:23:52
阅读次数:
273
??
1.volatile:要求参数修改每次都从内存中的读取。这种情况要比普通运行的变量需要的时间长。
#include
#include
#include
void
main()
{
time_t
start,
end;
double
res = 0;
time(&start);
...
分类:
其他好文 时间:
2014-08-05 22:35:20
阅读次数:
337
经过一番折腾,又开始重新拾起C++。突然发现自己以前很多东西写的都很不规范,从最起码的代码层面也没有一个标准的格式。无规矩不成方圆,因此强迫自己要重视代码的编码格式。Google的C++代码规范很具有参考性,在此推荐一下,地址:http://pan.baidu.com/s/16dFKM 在阅读...
分类:
编程语言 时间:
2014-08-05 22:23:10
阅读次数:
237
内联函数:在函数声明和函数定义前加上inline一个简单的计算平方的代码:#include using namespace std; inline double square(double x) { return x * x; }; int main() { cou...
分类:
其他好文 时间:
2014-08-01 22:32:42
阅读次数:
190
1、快速排序的时间复杂度(平均时间复杂度为) 数组本身就有序时,效果很差为O(n^2) 2、STl入门 (1) C++内联函数(inline)和C中宏(#define)区别 内联函数有类型检查,宏定义没有;C++编程尽量使用内联函数 template inline const T& max(cons...
分类:
其他好文 时间:
2014-07-26 14:41:03
阅读次数:
196
1.内联函数从源代码层看,有函数的结构,而在编译后,却不具备函数的性质。编译时,类似宏替换,使用函数体替换调用处的函数名。一般在代码中用inline修饰,但能否形成内联函数,需要看编译器对该函数定义的具体处理。such as:inline int add(int a,int b,int c){ r....
分类:
编程语言 时间:
2014-07-18 10:28:53
阅读次数:
268
局部优化:1、去除不需要的局部对象2、尽量通过引用,而不是传值,来处理对象3、把类中的小函数设置为内联函数4、对计算的处理: 一定会有的计算: 提前计算 (小的范围,计算量比较小) 可能会有的计算:延迟计算 不会有的计算: 不计算 5、利用模板代替虚函数6、尽量使用简单的数据类型7、不用使用虚函数的...
分类:
其他好文 时间:
2014-07-17 22:39:01
阅读次数:
232