摘要:
(转载)http://blog.csdn.net/jfkidear/article/details/88881241、什么是sizeof 首先看一下sizeof在msdn上的定义: The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggregate types). This keyword returns a value of type size_t. 看到return这个字眼,是不是想到了函数?错了,sizeof不是一个函数... 阅读全文
posted @ 2013-05-06 22:35
robotke1
阅读(202)
评论(0)
推荐(0)
摘要:
c++中,new的用法很灵活,这里进行了简单的总结:1. new() 分配这种类型的一个大小的内存空间,并以括号中的值来初始化这个变量;2. new[] 分配这种类型的n个大小的内存空间,并用默认构造函数来初始化这些变量;#include<iostream>#include<cstring>usingnamespacestd;intmain(){//char*p=newchar("Hello");//error分配一个char(1字节)的空间,//用"Hello"来初始化,这明显不对char*p=newchar[6];//p=&q 阅读全文
posted @ 2013-05-06 22:14
robotke1
阅读(560)
评论(0)
推荐(0)
摘要:
#define SAFE_FREE(p) do { free(p); p = NULL;} while(0)一般情况下我们会写成:#define SAFE_FREE(p) { free(p); p = NULL;}#include <stdio.h>#include <stdlib.h>#define SAFE_FREE(p) {free(p); p = NULL;}int main(int argc, char *argv[]){ int* ptr = (int*)malloc(sizeof(int) * 4); // error C2181: 没有匹配 if 的非法 阅读全文
posted @ 2013-05-06 21:51
robotke1
阅读(372)
评论(0)
推荐(0)
摘要:
(转载)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
阅读(198)
评论(0)
推荐(0)
摘要:
(转载)http://www.cnblogs.com/this-543273659/archive/2011/07/20/2111815.html对于很多初学者来说,往往觉得回调函数很神秘,很想知道回调函数的工作原理。本文将要解释什么是回调函数、它们有什么好处、为什么要使用它们等等问题,在开始之前,假设你已经熟知了函数指针。 什么是回调函数? 简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。 为什么要使用回调函数? 因为可以把调用者与被调用者分开。调用者不关心谁是被调用者... 阅读全文
posted @ 2013-05-06 20:13
robotke1
阅读(181)
评论(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
阅读(152)
评论(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
阅读(303)
评论(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
阅读(6764)
评论(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
阅读(323)
评论(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
阅读(167)
评论(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
阅读(2299)
评论(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
阅读(356)
评论(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
阅读(1000)
评论(0)
推荐(0)

浙公网安备 33010602011771号