上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 58 下一页
  2013年8月10日
摘要: 指针、引用和取值什么是指针?什么是内存地址?什么叫做指针的取值?指针是一个存储计算机内存地址的变量。在这份教程里“引用”表示计算机内存地址。从指针指向的内 存读取数据称作指针的取值。指针可以指向某些具体类型的变量地址,例如int、long和double。指针也可以是void类型、NULL指针和未初始 化指针。本文会对上述所有指针类型进行探讨。根据出现的位置不同,操作符 * 既可以用来声明一个指针变量,也可以用作指针的取值。当用在声明一个变量时,*表示这里声明了一个指针。其它情况用到*表示指针的取值。&是地址操作符,用来引用一个内存地址。通过在变量名字前使用&操作符,我们可以得到 阅读全文
posted @ 2013-08-10 21:27 猿人谷 阅读(721) 评论(0) 推荐(1)
摘要: 来源:http://c.chinaitlab.com/basic/936306_2.html 一 C++内存管理1.内存分配方式 在讲解内存分配之前,首先,要了解程序在内存中都有什么区域,然后再详细分析各种分配方式。1.1 C语言和C++内存分配区 下面的三张图,图1图2是一种比较详细的C语言的内存区域分法。图3是典型的C++内存分布图,简单易懂;以下内存分配图,区别就是图1和2则分为初始化和未初始化静态变量区,图3中是全局变量区。 C语言(图1和图2):(由低地址到高地址) a)正文段:用来存放程序执行代码。通常,正文段是可共享的。另外,正文段常常是只读的,一次防止程序由于意外修改其... 阅读全文
posted @ 2013-08-10 16:15 猿人谷 阅读(3946) 评论(0) 推荐(3)
摘要: 一般的教材上讲到引用时,都是说“引用是对象的一个别名”。我认为这种定义是不清晰的,不利于初学者理解引用。至少我自己曾经被这个定义困扰了一段时间。到底什么是“别名”? 实际上,引用的实质是位于xxxxxx地址上的一个xxxx类型的对象。比如教科书上常用的例子: int a = 5; //不妨假设编译器将a分配到0x400000 int &b = a; 这里面b的准确意义就是,放在0x400000地址上的一个int类型对象。这里面包括了两重含义,首先b是一个int类型对象,因此他的使用完全与 int类型对象一样。另外这个int类型对象的地址是0x400000,因此从底层来看,它具有指针的一 阅读全文
posted @ 2013-08-10 15:55 猿人谷 阅读(4662) 评论(0) 推荐(1)
摘要: 来源:http://c.chinaitlab.com/cc/ccjq/200806/752604_2.html-- template 的用法 在程序设计当中经常会出现使用同种数据结构的不同实例的情况。例如:在一个程序中 可以使用多个队列、树、图等结构来组织数据。同种结构的不同实例,也许只在数据元素 的类型或数量上略有差异,如果对每个实例都重新定义,则非常麻烦且容易出错。那么能 否对同种类型数据结构仅定义一次呢?答案是肯定的,C++提供的类模板(Class Template )就可以实现该功能。 一、类模板 类模板是C++提供的一种特殊机制,通过它我们可以定义一种特殊的类(称为模板类),在类 的 阅读全文
posted @ 2013-08-10 15:44 猿人谷 阅读(964) 评论(0) 推荐(0)
摘要: classSortNum{public:SortNum();virtual~SortNum();voidexchange(int&b,int&c);//交换数据voidlistout(inta[],intn);//列出所有voidselectSort(inta[],intn);//选择voidbublbleSort(inta[],intn);//冒泡voidinsertSort(inta[],intn);//插入voidbaseSort(inta[],intn);//基数voidquickSort(inta[],intn,intleft,intright);//快速voidMe 阅读全文
posted @ 2013-08-10 15:34 猿人谷 阅读(730) 评论(0) 推荐(0)
摘要: 拷贝构造函数,是一种特殊的构造函数,它由编译器调用来完成一些基于同一类的其他对象的构建及初始化。其唯一的参数(对象的引用)是不可变的(const类型)。此函数经常用在函数调用时用户定义类型的值传递及返回。拷贝构造函数要调用基类的拷贝构造函数和成员函数。如果可以的话,它将用常量方式调用,另外,也可以用非常量方式调用。调用拷贝构造函数的情形在C++中,下面三种对象需要调用拷贝构造函数(有时也称“复制构造函数”):1) 一个对象作为函数参数,以值传递的方式传入函数体;2) 一个对象作为函数返回值,以值传递的方式从函数返回;3) 一个对象用于给另外一个对象进行初始化(常称为复制初始化); 如果在前两. 阅读全文
posted @ 2013-08-10 14:58 猿人谷 阅读(2348) 评论(0) 推荐(0)
  2013年8月8日
摘要: 1.C++中类与结构的唯一区别是:类(class)定义中默认情况下的成员是private的,而结构(struct)定义中默认情况下的成员是public的。2. ::叫作用域区分符,指明一个函数属于哪个类或一个数据属于哪个类。::可以不跟类名,表示全局数据或全局函数(即非成员函数)。3.类名加载成员函数名之前而不是加在函数的返回类型前。错误:Tdate::void Set(int m , int d , int y) {}正确: void Tdate::Set(int m , int d , int y) {}4.一个类对象所占据的内存空间由它的数据成员所占据的空间总和所决定。类的成员函数不占据 阅读全文
posted @ 2013-08-08 20:57 猿人谷 阅读(19903) 评论(0) 推荐(2)
摘要: 习题12.7 什么是封装?为什么封装是有用的?解答:封装是一种将低层次的元素组合起来形成新的、高层次实体的技术。例如,函数是封装的一种形式:函数所执行的细节行为被封装在函数本身这个更大的实体中;类也是一个封装的实体:它代表若干成员的聚集,大多数(良好设计的)类类型隐藏了实现该类型的成员。封装隐藏了内部元素的实现细节(例如,可以调用一个函数但不能访问它所执行的语句),其主要优点在于:避免类内部出现无意的、可能破坏对象状态的用户级错误;使得在修改类的实现时只要保持类的接口不变,就无需改变用户级代码。因此,封装是有用的。 阅读全文
posted @ 2013-08-08 17:15 猿人谷 阅读(418) 评论(0) 推荐(0)
摘要: 一、安装tightvnc: tightvnc的安装在安装包中有详细的说明(README文件) 首先你要确保linux已经安装jpeg和zlib库, 2、编译执行如下两个命令:[root@localhost vnc_unixsrc]xmkmf[root@localhost vnc_unixsrc]make World可分别在其下的四个目录中获得四个文件。第一个为静态库,后三个为x86平台的二进制执行程序。vncvviewer为x86-linux平台的client端程序。vncpasswd用于server侧建立密码,vncconnect为server和client二者连接之用。vnc_unixsr 阅读全文
posted @ 2013-08-08 14:47 猿人谷 阅读(4943) 评论(0) 推荐(0)
  2013年8月7日
摘要: 这是本小人书。原名是《using stl》,不知道是谁写的。不过我倒觉得很有趣,所以化了两个晚上把它翻译出来。我没有对翻译出来的内容校验过。如果你没法在三十分钟内觉得有所收获,那么赶紧扔了它。文中我省略了很多东西。心疼那,浪费我两个晚上。译者:karycontact:karymay@163.netSTL概述STL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但这种分离确实使得STL变得非常通用。例如,由于STL的sort()函数是完全通用的,你可以用它来操作几乎任何数据集合,包括链表,容器和数组。要点STL算法作为模板函数提供。为了和其他组件相区别,在本书中STL算法以后接一对圆 阅读全文
posted @ 2013-08-07 20:05 猿人谷 阅读(896) 评论(0) 推荐(0)
上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 58 下一页