Stash4.h
/**
* 书本:【ThinkingInC++】
* 功能:带内联函数的Stash
* 时间:2014年9月12日08:16:13
* 作者:cutter_point
*/
#ifndef STASH4_H_INCLUDED
#define STASH4_H_INCLUDED
#include "../require.h"
#include
class Stash
{
...
分类:
编程语言 时间:
2014-09-12 08:55:53
阅读次数:
419
宏,我们有时会定义一些预处理宏,如#defineCOMP(x) ((x)>0?(x):0) 就定义了一个宏。使用宏的原因是——函数调用有一定的时间和空间开销(在函数调用的使用程序跳到函数所在内存中的地址,执行完之后再跳回原来的位置继续执行。这种转移需要保存现场并记忆当前内存位置,执行完函数之后再恢复...
分类:
其他好文 时间:
2014-09-10 17:08:00
阅读次数:
215
转自:http://blog.csdn.net/lightlater/article/details/5848200C++中引入inline关键字的原因:inline关键字用来定义一个类的内联函数,引入它的主要原因是用它替代C中表达式形式的宏定义。什么是内联函数?表达式形式的宏定义一例:#defin...
分类:
其他好文 时间:
2014-09-09 11:15:28
阅读次数:
219
内联函数:可以避免函数调用的开销;内联函数和宏很类似,而区别在于,宏是由预处理器对宏进行替代,而内联函数是通过编译器控制来实现的。而且内联函数是真正的函数,只是在需要用到的时候,内联函数像宏一样的展开,所以取消了函数的参数压栈,减少了调用的开销。你可以象调用函数一样来调用内联函数,而不必担心会产生于...
分类:
编程语言 时间:
2014-09-04 14:38:59
阅读次数:
127
一、什么叫inline函数?inline(小心,不是online),翻译成“内联”或“内嵌”。意指:当编译器发现某段代码在调用一个内联函数时,它不是去调用该函数,而是将该函数的代码,整段插入到当前位置。这样做的好处是省去了调用的过程,加快程序运行速度。(函数的调用过程,由于有前面所说的参数入栈等操作...
分类:
其他好文 时间:
2014-08-28 23:53:36
阅读次数:
225
在C++编程中,函数(包括内联函数)一般都是小写,而宏定义的“函数”(带参数的宏)往往采用大写。
上面这句话,看似稀松平常,但是不遵循这句话却容易导致意想不到的错误!今天就记录一个典型案例:
由于内联函数和宏十分相似,都是在程序运行之前进行的,都是用函数体取代表达式,都可以规避函数调用带来的开销从而提高效率,因此很容易模糊二者的本质区别,以至于忘记本文开头的话。这不,今天我就这么做了。这样做固...
分类:
其他好文 时间:
2014-08-28 16:12:59
阅读次数:
305
size_t:size_t的全称应该是size type,就是说“一种用来记录大小的数据类型”。属于C99标准,...
分类:
编程语言 时间:
2014-08-22 19:46:49
阅读次数:
234
1.求绝对值函数(1)_abs()C代码:int_abs(intsrc)汇编:ABS功能:求32位数据的绝对值(2)_labs()C代码:int_labs(longsrc)汇编:ABS功能:求40位数据的绝对值(3)_abs2()C代码:int_abs2(intsrc)汇编:ABS2功能:同时求高1...
分类:
其他好文 时间:
2014-08-22 12:23:06
阅读次数:
243
??
1.拷贝构造
//拷贝构造的规则,有两种方式实现初始化。
//1、一个是通过在后面:a(x),b(y)的方式实现初始化。
//2、第二种初始化的方式是直接在构造方法里面实现初始化。
案例如下:
#include
//如果声明已经定义,边不会生成
class classA
{
private:
int a;
int b;
public:
//拷贝构造...
分类:
其他好文 时间:
2014-08-21 22:48:25
阅读次数:
355