上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 48 下一页
摘要: 为什么需要static?比如一个学生类,班级总人数对每个学生对象而言应该是公共的变量。即类的设计需要一个存储公共信息的数据成员,因此static应运而生! 掌握2个知识点: 1.static成员在使用前必须进行定义性说明。 2.静态成员函数不能直接访问类的非静态数据成员,因为静态成员不含this指针。 1.static成员在使用前必须进行定义性说明。 定义性说明:<类型> <类名>::<静态... 阅读全文
posted @ 2013-06-04 22:04 helloweworld 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 虚函数可以被声明为inline,这是毫无疑问的,因为inline同register一样,只是对编译器的建议。 那么inline virtual函数是否会被内联展开呢?答案是可以! 有的人说不能,理由是virtual的意思是"等到运行时再决定调用哪个函数",inline的意思是"在编译期间将调用之处用被调函数来代替",如果编译器甚至还不知道哪个函数将被调用,当然就不能责怪它拒绝生成内联调用了。 ... 阅读全文
posted @ 2013-06-03 20:59 helloweworld 阅读(1047) 评论(0) 推荐(0) 编辑
摘要: 这个条款在More Effective C++里有进一步的说明,推迟变量的定义被叫做“缓式评估”。 产生本条款做法的根本原因是构造和析构函数有开销。 文中给出了一个例子,如下: // 此函数太早定义了变量"encrypted"string encryptPassword(const string& password){ string encrypted; if (password.lengt... 阅读全文
posted @ 2013-06-03 19:47 helloweworld 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 千万不要返回局部对象的引用——局部对象在函数调用完成后被销毁了,若返回其引用,引用的对象都没有了,引用就没意义了。 不要返回函数内部用new初始化的指针的引用——即在一个函数中用new申请一片内存,然后返回指向这片内存的指针,语法和编译上都没错误,但给使用设下了陷阱,因为调用者很可能忘了用delete释放内存,造成内存泄露。 阅读全文
posted @ 2013-06-03 19:38 helloweworld 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 地址映射过程中,若在页面中发现所要访问的页面不再内存中,则产生缺页中断。当发生缺页中断时操作系统必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。而用来选择淘汰哪一页的规则叫做页面置换算法。 1.最优算法,置换经过最久时间才有可能被访问的,该算法不可实现,可作为衡量其他算法的基准. 2.最近未使用(NRU),根据R位和M位将页面分为四类,从编号最小的类中随机选择一个页面置换. ... 阅读全文
posted @ 2013-06-02 14:55 helloweworld 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 第3章 存储管理 3.1 无存储器抽象 3.2 一种存储器抽象:地址空间 3.3 虚拟内存 3.4 页面置换算法 3.5 分页系统中的设计问题 3.6 有关实现的问题 3.7 分段 3.8 有关存储管理的研究 3.9 小结 阅读全文
posted @ 2013-06-01 22:39 helloweworld 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 类默认生成的函数(当你自己不定义这些函数时): 一个拷贝构造函数,一个赋值运算符,一个析构函数,一对取址运算符、一个缺省构造函数。 class Empty {public: Empty(); // 缺省构造函数 Empty(const Empty& rhs); // 拷贝构造函数 ~Empty(); // 析构函数 ---- 是否 // 为虚函数看下文说明 Empty& operator=(c... 阅读全文
posted @ 2013-05-30 12:09 helloweworld 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 这里向下转换指的是“将基类指针强制转换为派生类”,不建议这么做,为什么?根本在访问权限,即派生类对象可以做的事,基类对象不一定能做,如果把基类指针强制转换为派生类,那么基类就可以做派生类独有的事情了。 阅读全文
posted @ 2013-05-29 22:46 helloweworld 阅读(138) 评论(0) 推荐(0) 编辑
摘要: An alternative to the Handle class approach is to make Person a special kind of abstract base class called a Protocol class. Bydefinition, a Protocol class has no implementation; its raison d'être is ... 阅读全文
posted @ 2013-05-29 22:33 helloweworld 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 文中给出解释“如果缺省参数值被动态绑定,编译器就必须想办法为虚函数在运行时确定合适的缺省值,这将比现在采用的在编译阶段确定缺省值的机制更慢更复杂。做出这种选择是想求得速度上的提高和实现上的简便”。 缺省参数在编译时绑定,而不是在运行时绑定,主要是为了高效运行。 阅读全文
posted @ 2013-05-29 22:22 helloweworld 阅读(155) 评论(0) 推荐(0) 编辑
上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 48 下一页