随笔分类 -  C/C++

引用的用法
摘要:转自http://blog.csdn.net/sandyqy/article/details/3327867最近看书,看到了引用,对其用法不是很了解。从各处汇总了一些知识,如下:什么是引用引用是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法:类型标识符&引用名=目标变量名;【例1】:int aint &ra=a;//定义引用ra,它是变量a的引用,即别名对引用的几点说明(1)&在此不是求地址运算,而是起标识作用。(2)类型标识符是指目标变量的类型。(3)声明引用时,必须同时对其进行初始化。(4)引用声明完毕后,相当于目标变量名有两个名称 阅读全文
posted @ 2011-08-15 15:58 柯大侠 阅读(984) 评论(0) 推荐(0)
回车和换行
摘要:回车和换行对于程序中的回车和换行,一直都没有真正去弄清楚过,这次查了下资料把它理清下1.由来在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;另一个叫做“换行”,告诉打字机把纸向下移一行。2.现状后来,计算机发明了,这两个概念也就被般到了计算机上。那时,存储器很贵,一些科 阅读全文
posted @ 2011-06-23 06:36 柯大侠 阅读(557) 评论(0) 推荐(0)
stl::map,stl::multimap,boost::tuple使用简介
摘要:一.Map1.前言 在程序中,经常会遇见关联的数据对出现,可以把这个数据对中的一个称作索引值,另外一个称作关联值或映射值,假如索引值是整数的时候,可以采用数组或者向量存储这些数据对,但是假如索引值是其他的任意数据类型的时候,就需要用到map了2.使用map#include <map>map <string, string> addresses;<1>添加元素map中的第一个元素用于存放索引值,第二个元素用于存放映射值,为了对某一个索引值添加对应的映射元素,可以使用下标操作符,如对于上面定义的通信录addresses,要添加元素,可以如下: addresses 阅读全文
posted @ 2011-06-18 07:29 柯大侠 阅读(3474) 评论(0) 推荐(0)
函数指针
摘要:函数指针的定义方式T (*Func)(…) ;这样定义了一个返回类型为T的函数指针变量Func,可以用同类型的函数给Func赋值,然后调用Func就可以实现具体函数的调用,如:void MyFun(int x); //这个声明也可写成:void MyFun( int );void (*FunP)(int ); //也可声明成void(*FunP)(int x),但习惯上一般不这样。int main(int argc, char* argv[]){ FunP=&MyFun; (*FunP)(20); return 0;} 上面的main函数的内容也可以写成这样:int main(int 阅读全文
posted @ 2011-06-14 07:42 柯大侠 阅读(208) 评论(0) 推荐(0)
关于内存中栈和堆的区别
摘要:1、内存分配方面: 堆:一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式是类似于链表。可能用到的关键字如下:new、malloc、delete、free等等。 栈:由编译器(Compiler)自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、申请方式方面: 堆:需要程序员自己申请,并指明大小。在c中malloc函数如p1 = (char *)malloc(10);在C++中用new运算符,但是注意p1、p2本身是在栈中的。因为他们还是可以认为是局部变量。 栈:由系统自动分配。 例如,声明在函数中一个局 阅读全文
posted @ 2010-10-05 15:51 柯大侠 阅读(207) 评论(0) 推荐(0)