上一页 1 ··· 36 37 38 39 40 41 42 43 44 ··· 54 下一页
摘要: (转载)http://blog.csdn.net/hedylin/article/details/1775556 当一个函数是内联和虚函数时,会发生代码替换或使用虚表调用吗? 为了弄清楚内联和虚函数,让我们将它们分开来考虑。通常,一个内联函数是被展开的。 class CFoo { private: int val; public: int GetVal() { return val; } int SetVal(int v) { return val=v; } }; 这里... 阅读全文
posted @ 2013-05-06 20:30 robotke1 阅读(201) 评论(0) 推荐(0)
摘要: (转载)http://www.cnblogs.com/this-543273659/archive/2011/07/20/2111815.html对于很多初学者来说,往往觉得回调函数很神秘,很想知道回调函数的工作原理。本文将要解释什么是回调函数、它们有什么好处、为什么要使用它们等等问题,在开始之前,假设你已经熟知了函数指针。 什么是回调函数? 简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。 为什么要使用回调函数? 因为可以把调用者与被调用者分开。调用者不关心谁是被调用者... 阅读全文
posted @ 2013-05-06 20:13 robotke1 阅读(183) 评论(0) 推荐(0)
摘要: (转载)http://www.cnblogs.com/singa/archive/2008/09/24/1297821.html(1)什么是内联函数?内联函数是指那些定义在类体内的成员函数,即该函数的函数体放在类体内。(2)为什么要引入内联函数?当然,引入内联函数的主要目的是:解决程序中函数调用的效率问题。另外,前面我们讲到了宏,里面有这么一个例子:#define ABS(x) ((x)>0? (x):-(x))当++i出现时,宏就会歪曲我们的意思,换句话说就是:宏的定义很容易产生二意性。 我们可以看到宏有一些难以避免的问题,怎么解决呢?前面我们已经尽力替换了。下面我们用内联函数来解决这 阅读全文
posted @ 2013-05-06 19:22 robotke1 阅读(154) 评论(0) 推荐(1)
摘要: (转载)http://www.cnblogs.com/this-543273659/archive/2011/08/17/2143607.html1.内联函数是个静态行为,而虚函数是个动态行为,他们之间是有矛盾的。2.我们之所以能看到一些象内联函数的虚函数,是因为某个函数是否是内联函数不是由我们说的算,而是由编译器决定的。我们只能向编译器建议,某个函数可以是内联函数(inline关键字),但是编译器有自己的判断法则。所以可能出现这样的情况: 2.1 我们用inline声明的函数却没有inline 2.2 我们没有用inline声明的函数却是inline 2.3 对于inline函数... 阅读全文
posted @ 2013-05-06 19:19 robotke1 阅读(306) 评论(0) 推荐(0)
摘要: (转载)#include <iostream>#include <iomanip>#include <bitset>using std::bitset;using std::hex;using std::oct;using std::cout;using std::cin;using std::endl;int main(){ int a=10; cout<<"Dec:"<<a<<endl; cout<<hex<<"Hex:"<<a<< 阅读全文
posted @ 2013-05-06 18:34 robotke1 阅读(6774) 评论(0) 推荐(0)
摘要: (转载)http://www.cnblogs.com/this-543273659/archive/2011/09/06/2168464.html定义一个空的C++类,例如class Empty{}一个空的class在C++编译器处理过后就不再为空,编译器会自动地为我们声明一些member function,一般编译过去就相当于#include <iostream>#include <string>using namespace std;class Empty{public: Empty() {}; // 缺省构造函数 Empty(const Empty&); 阅读全文
posted @ 2013-05-06 18:17 robotke1 阅读(325) 评论(0) 推荐(0)
摘要: my_auto_ptr通过它的析构函数来调用delete删除某对象的指针,来达到自动释放内存,而不需要显示的调用delete某对象。(1)实现自动释放#include <iostream>#include <string>using namespace std;struct People {public: People() {cout << "People" << endl;} ~People() {cout << "~People" << endl;} void run(void) 阅读全文
posted @ 2013-05-06 16:53 robotke1 阅读(170) 评论(0) 推荐(0)
摘要: #include <iostream>#include <string>using namespace std;// 方法1:传递了二维数组的首地址,和二维数组的行数void print1_Array2D(int (*ptr)[4], int cnt){ for (int i = 0; i < cnt; i++) { for (int j = 0; j < 4; j++) { cout << ptr[i][j] << " "; } cout << endl; }}// 方法2:传递了二维数组的首地址.. 阅读全文
posted @ 2013-05-06 11:48 robotke1 阅读(2312) 评论(0) 推荐(0)
摘要: (转载)http://blog.csdn.net/kfbyj/article/details/7648253C++ Primer第四版 P88如果采用下面的计算方法来计算mid会产生什么结果?正确方法://用迭代器算术操作,初始化mid,使其指向vi中最靠近正中间的元素vector<int>::iterator mid=vi.begin()+vi.size()/2;错误方法://如采用下面的方法来计算midvector<int>::iterator mid=(vi.begin()+vi.end())/2//将两个迭代器相加的操作是未定义的,因此用这种方法计算mid会出现 阅读全文
posted @ 2013-05-06 11:14 robotke1 阅读(359) 评论(0) 推荐(0)
摘要: (转载)http://blog.chinaunix.net/uid-22342666-id-1774790.html[前言] 笔者常习惯使用C库中的FILE*来操作文件,但是C++的STL中是提供了fstream等文件流对象,于是乎便刻意的改变自己的一些习惯,让程序看起来更C++一些。 这是笔者在最近写的一个程序中的片段,由于常常把写的一些小模块给弄丢了,故在此留个记号,若对你有所帮助,欢迎常来看看~ :)wangxinus, 2009.9 [正文] 需要解决的问题是这样的:在一个2进制的数据文件中,整齐的排列着以6bytes对齐的数据,其实是一组指令,每一个指令都是这样的结构[命令码 操作码 阅读全文
posted @ 2013-05-06 00:09 robotke1 阅读(1001) 评论(0) 推荐(0)
上一页 1 ··· 36 37 38 39 40 41 42 43 44 ··· 54 下一页