C语言中volatile关键字的作用

一.前言 1.编译器优化介绍: 由于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行,没有相关性的指令可以乱序执行,以充分利用CPU的指令流水线,提高执行速度。以上是硬件级别的优化。 再...

2013-12-05 10:57:24

阅读数:501

评论数:0

一个byte怎么转成网络字节序

单字节不用转

2013-08-09 17:34:27

阅读数:427

评论数:0

getopt的用法与optarg

getopt的用法与optarg getopt被用来解析命令行选项参数。就不用自己写东东处理argv了。 #include        extern char *optarg;  //选项的参数指针        extern int optind,   //下一次调用getopt的...

2013-08-09 17:34:25

阅读数:425

评论数:0

对字符数组中某两个字节赋整数值

char buf[40]={0} *(short *) &Buf[18]=12;

2013-08-09 17:34:10

阅读数:414

评论数:0

内存数据的十六进制Print

在程序的调试过程中,经常需要输出各种数据,正常情况下使用printf和cout即可实现数据输出。然而在输出二进制数据时,printf和out却有点无能为力。那么如何比较二进制数据是否正确呢? 方案一:文件输出。文件可以输入任何数据,但是需要在程序之外比较文件,这对于少量数据并不划算。 方案二:实...

2013-08-09 17:34:03

阅读数:501

评论数:0

STL中的erase函数跟remove函数有什…

vector 中erase是真正删除了元素, 迭代器访问不到了。 algorithm中的remove只是简单的把要remove的元素移到了容器最后面,然后其余元素前移,迭代器还是可以访问到的。因为 algorithm通过迭代器操作,不知道容器的内部结构,所以无法做到真正删除。 remove并不真正...

2013-08-09 17:34:01

阅读数:752

评论数:0

C/C++学习笔记

【运算】 x*=y+8;//x=x*(y+8) a-=10;//a=a-10 c语言要求变量定义应该放在所有执行语句之前,C++放松限制。 【结构】 struct建议先定义类型后定义变量的方式。 在定义结构体变量时,C语言要求加struct,C++则不必。 【类】 用sizeof时,类...

2013-08-09 17:33:54

阅读数:386

评论数:0

singleton模式

#include using namespace std; class Singleton { public:     static Singleton* Instance();     void setValue(int val) { value = val; }     int get...

2013-08-09 17:33:46

阅读数:411

评论数:0

迭代器有什么用,意义何在?

迭代器就是把不同的数据结构 "相同功能 "的函数装到一个名字相同的函数里,这样的话你在写算法的时候就可以不管你要操作的数据结构的逻辑结构了。 比如不管是链表,数组还是别的什么,统一都用迭代器进行访问的话可能都是   Next()表示下一个元素   Pre()表示上一个元素等等 ...

2013-08-09 17:33:35

阅读数:1116

评论数:0

迭代器是什么(转)

迭代器是什么     在学习c++ STL的时候,整天碰到迭代器,也整天用,但是,到底它是个什么东西,很多人没有一个认识。这里我通过几个小的DEMO,来看看迭代器。首先我实现了一个十分简陋的vector类:   [cpp] template class T>   class ...

2013-08-09 17:33:33

阅读数:600

评论数:0

string类的方法

string类的方法 string类的构造函数: string(const char *s); //用c字符串s初始化 string(int n,char c); //用n个字符c初始化 此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2=&quo...

2013-08-09 17:33:31

阅读数:331

评论数:0

怎么定义一个int[n]数组且初始化

先定义int n = 5; 在定义int a[n] = {0}; 编译怎么不通过啊?   n必须为常量 如果想实现你说的,应该用宏。 #define n 5 int a[n]={0}; 这样就可以了。 你如果非要n的。可以用动态申请长度为n的数组, int n=5; int *a=...

2013-08-09 17:33:29

阅读数:2054

评论数:0

char a=256

char a=256; int i=a;     在c/c++中,一个char及字符型变量占一个字节的内存空间,表示范围是-128到127.你令char a=256就造成了数据的溢出,于是转成int型就变成0了

2013-08-09 17:33:27

阅读数:676

评论数:0

String类的实现:三大复制控制函数

已知类String的原型为: class String {public:      String(const char *str = NULL);// 普通构造函数      String(const String &other);    // 拷贝构造函数      ~ String(v...

2013-08-09 17:33:24

阅读数:479

评论数:0

出现频率最高的笔试题strcpy写法

出现频率最高的笔试题strcpy写法 题目:   已知strcpy函数的原型是:   char * strcpy(char * strDest,const char * strSrc);   1.不调用库函数,实现strcpy函数。   2.解释为什么要返回char *。 解说:   1.s...

2013-08-09 17:33:22

阅读数:404

评论数:0

关于指针参数的内存传递副本

一个错误的例子: void GetMemory(char *p, int num) {   p = (char *)malloc(sizeof(char) * num); } void Test(void) {   char *str = NULL;   GetMemory(str, 100);...

2013-08-09 17:33:20

阅读数:505

评论数:0

指针、引用、常量的初始

int &i;//引用必须声明同时初始化 int *pi; *pi=5;//未指向的指针不能赋值 const int j;//必须立刻初始化   int *pint=2000;//不能用整数给指针赋初始值

2013-08-09 17:33:18

阅读数:526

评论数:0

为什么这个程序中sizeof的结果是4…

为什么这个程序中sizeof的结果是4? #include #include using namespace std; class base { public:     base(){cout     ~base(){cout     virtual void f(int){cout   ...

2013-08-09 17:33:16

阅读数:464

评论数:0

关于sizeof(string)

关于sizeof(string)       不同的编译器的sizeof(string)是不同的。        vs 2008算出来的sizeof(string)是32,vc 6.0算出来的是16.有些书上是4.        推测是不同的版本中,string这个模板类实现的机理不尽相同造成的...

2013-08-09 17:33:13

阅读数:392

评论数:0

对象初始及赋值

String a("aaa");//初始 构造函数 String b("bbb");//初始 构造函数 String f="eee";//初始 用了String类里面重载过的"="操作符   String c=a;//...

2013-08-09 17:33:11

阅读数:434

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭