自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 c++ primer -- 基于过程的设计(5)

1.在局部域中的变量声明引入了局部对象(local object)。有三种局部对象:自动对象(automatic object)、寄存器对象(register object)以及局部静态对象(local static object)。区分这些对象的是对象所在存储区的属性和生命期。2.自动对象的存储分配发生在定义它的函数被调用时。分配给自动变量的存储区来自于程序的运行栈,它是函数活动记录的一

2012-04-22 15:27:38 366

原创 c++ primer -- 基于过程的设计(4)

1.声明引入的名字可以被用在什么地方?为回答这个问题,我们将给出域的概念,并且介绍它们是怎样界定一个名字在程序文本文件中的可用范围。具体包括:全局域、局部域。2.声明引入的运行时刻实体的生命期是什么?为回答这个问题,我们将讲述声明是怎样引入全局对象和函数(在整个程序生成期间一直有效的实体)、局部对象(在程序生成期间的子集上有效的对象),以及动态分配的对象(生命期由程序员控制的对象)的。

2012-04-22 15:26:27 352

原创 c++ primer -- 基于过程的设计(3)

1.关于链接指示符。在c++中,为了支持重载机制,在编译生成的汇编码中,要对函数的名字进行一些处理,加入比如函数的返回类型等等。而在C中,只是简单的函数名字而已,不会加入其他的信息,也就是说:C++和C对产生的函数名字的处理是不一样的。

2012-04-22 15:24:33 263

原创 c++ primer -- 基于过程的设计(2)

1.如果返回值是一个大型类对象,用引用(或指针)返回类型比按值返回类对象效率要高得多。在某些情况下,编译器自动将按值返回转换到按引用返回。该优化被称为命名返回值优化(named return value optimization)。2.返回一个指向局部对象的引用。局部对象的生命周期随函数的结束而结束。在该函数结束后,该引用变成未定义内存的别名。3.函数返回一个左值。对返回值的任何修

2012-04-22 15:23:27 372

原创 c++ primer -- 基于过程的程序设计(1)

1.所有的函数都使用在程序运行栈(run-time stack)中分配的存储区。该存储区一直保持与该函数相关联,直到函数结束为止。那时,存储区将自动释放以便重新使用。该函数的整个存储区被称为活动记录(activation record).系统在函数的活动记录中为函数的每个参数都提供了存储区。2.使用引用的时机:第一,调用函数必须将一个参数改成指针来允许改变实参的值时就比较合适。第二,向主调

2012-04-22 15:22:54 405

原创 c++ primer -- 基本语言(7)

1.顺序容器(sequence container)拥有由单一类型元素组成的一个有序集合。两个主要的顺序容器是list 和 vector。[第三个顺序容器为双端队列deque,它提供了与vecotr相同的行为,但是对于首元素的有效插入和删除提供了特殊的支持。]2.关联容器(associative container)支持查询一个元素是否存在,并且可以有效地获取元素。两个基本的关联容器类型是ma

2012-04-22 15:22:07 317

原创 c++ primer -- 基本语言(6)

1.链表必须支持的操作:插入(insert)、删除(remove)、查找(find)一个项、查询链表长度(size)、显示链表(display)、比较两个链表是否相等(equality)、翻转链表(reverse)以及连接两个链表(concatenate)。2.size()实现有两种方案:a)迭代链表,返回所遍历的元素个数。b)将长度作为一个数据成员存储起来。第二种实现效率很高

2012-04-22 15:21:24 316

原创 c++ Primer -- 基本语言(6)

1.在c中,对象的定义并不被视为C语言的语句,块中的所有对象定义必须出现在任何程序语句之前。在C++中,对象的定义是C++语言的一条语句,所以可以将对象定义放在任何其他语句能够出现的地方。2. 对于类对象的定义来说,由于类对象与构造函数和析构函数相关联,所以声明的局部性就变成必须的了。a)在做函数或语句块中的任何事情之前,所有类对象的构造函数均被调用。声明的局部性使我们能够把初始化的开销分

2012-04-22 15:17:37 343

原创 c++ primer -- 基本语言(4)

1.%操作符计算两个树相除的余数,第一个数被第二数除。该操作符只能被应用在数值类型(char、short、int、和long)的操作数上。当两个操作数都是正数时,结果为正。但是,如果有一个(或两个)操作数为负,余数的符号取决于机器。因此,移植性无法保证。2.算术表达式的计算会导致不正确或未定义的值,这些情况被称为算术异常(但是不会导致抛出实际的异常)。算术异常归咎于算术的自然本质(比如除以0)

2012-04-22 15:16:36 435

原创 c++ primer -- 基本语言(9)

1.istream_iterator2.在容器头部插入元素:slist.insert(slist.begin(),value);在容器指定元素前插入元素:string son("Danny");list::iterator iter;iter = find(slist.begin(), slist.end(), son);slist.insert(iter, spo

2012-04-22 15:15:40 432

原创 关于链接指示符的问题

extern “XX”可以告诉编译器,该函数是用其它语言来编写的,但强制这些函数采用XX语言的方式进行编译。举个例子说吧!C接口的方法:C中调用C++函数:生成一个工程叫demo,加入一个demo.c 内容如下:int add(int a,int b );//有无都可int main(){int i=add(3,2); printf("i=%d",i);re

2012-04-22 14:47:09 490

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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