代码改变世界

随笔档案-2010年11月

[C++再学习系列] 虚函数的4条规则

2010-11-30 11:58 by zhenjing, 1511 阅读, 收藏, 编辑
摘要: 虚函数的4条规则:1 尽量使用非虚拟接口模式 (NVI) 让接口函数成为非虚拟的。2 尽量让虚函数成为私用的。3 只有当派生类需要调用基类对某个虚函数的实现时,才把虚函数声明为保护的。4 基类的析构函数应该要么为共有虚函数 , 要么为保护虚函数。 阅读全文

[C++再学习系列] 隐式类型转换与转换操作符

2010-11-26 13:06 by zhenjing, 1481 阅读, 收藏, 编辑
摘要: C++标准允许隐式类型转换,即对特定的类,在特定条件下,某些参数或变量将隐形转换成类对象(创建临时对象)。如果这种转换代价很大(调用类的构造函数),隐式转换将影响性能。隐式转换的发生条件:函数调用中,当参数类型不匹配,如果隐式转换后能满足类型匹配条件,编译器将启用类型转换。控制隐式类型转换的两种途径:1) 减少函数调用的参数不匹配情况:提供签名(函数参数类型)与常见参数类型的精确匹配的重载函数。2) 限制编译器的启用隐式转换:使用explicit限制的构造函数和具名转换函数。 阅读全文

[C++再学习系列] 二元操作符重载

2010-11-24 12:48 by zhenjing, 1227 阅读, 收藏, 编辑
摘要: 二元操作符重载的具体实现的标准方法如下:T& T::operator@=( const T& ) { // … implementation … return *this;}T operator@( const T& lhs, const T& rhs ) { T temp( lhs ) return temp @= rhs;} 阅读全文

[C++再学习系列] 前置++与后置++

2010-11-18 18:03 by zhenjing, 917 阅读, 收藏, 编辑
摘要: 前置++与后置++听起来确实很简单,但如果动手写,估计自己是无法一次写出正确的版本的。 阅读全文

Usage of Protocol Buffer

2010-11-15 23:01 by zhenjing, 2850 阅读, 收藏, 编辑
摘要: Protocol Buffer简单学习教程。去年用过Protocol Buffer后,写下的总结,应该有助于快速上手。 阅读全文

[C++再学习系列] 指针和引用

2010-11-12 17:57 by zhenjing, 1490 阅读, 收藏, 编辑
摘要: 在指针和引用的小文中,主要讨论了引用和指针语法层面上的区别。本文将侧重如何更加合理地利用语言对引用所作限制。 阅读全文

[C++再学习系列] 引用和指针

2010-11-09 13:18 by zhenjing, 3092 阅读, 收藏, 编辑
摘要: 引用和指针有如下三种区别: 1 引用必须在声明时初始化,而指针不用; 2 对于NULL不能引用,而指针可以指向NULL; 3 引用一旦声明,引用的对象不能改变(但对象的值可以改变);而指针可以随时改变指向的对象。 引用能做到的,指针也可以,但指针更危险; (1)引用被创建的同时必须被初始化(指针则可以在任何时候被初始化)。(2)不能有NULL引用,引用必须与合法的存储单元关联(指针则可以是 NULL)。(3)一旦引用被初始化,就不能改变引用的关系(指针则可以随时改变所指的对象)。本文将更深入地讨论这3个区别背后的意义。 阅读全文

初学者:ACE学习

2010-11-05 12:03 by zhenjing, 10245 阅读, 收藏, 编辑
摘要: 这是4年前学习ACE留下的笔记,绝大部分是摘抄。ACE号称是跨平台的库,除此之外,现在并不觉得ACE有多神奇。相反,并不推荐使用ACE。如果真想学习,倒是建议直接学习Unix/Linux更好些(Unix高级环境编程)。很简单,学会ACE,还是不懂底层,甚至反而对系统接口陌生,还不如直接学习系统接口。总而言之,ACE属于系统库,但真要了解系统,ACE并不直接,相反ACE妨碍对系统的学习。 阅读全文

[C++再学习系列] Using声明和指令的工作原理

2010-11-04 12:01 by zhenjing, 2336 阅读, 收藏, 编辑
摘要: 对于C++编译器,那些名字可见是至关重要的,太多的名字可见将导致名字查找效率的降低。除了最常用的include可以导入可见名字之外,using关键字也可以导入名字到特定的编译单元中(单个cpp文件)。 本文将阐述using关键字的工作原理和使用准则。 阅读全文

[C++再学习系列] 可访问性问题

2010-11-03 13:15 by zhenjing, 502 阅读, 收藏, 编辑
摘要: C++通过Private,protected,public来控制成员的可访问性。本文将讨论如何改变类函数的可访问性,以及如何突破类函数的可访问性限制。 阅读全文

360与QQ大战观感

2010-11-02 11:59 by zhenjing, 381 阅读, 收藏, 编辑
摘要: 360与QQ大战观感 阅读全文

初学者:C++学习

2010-11-01 09:17 by zhenjing, 2383 阅读, 收藏, 编辑
摘要: 这份笔记是分多次写成的。开始部分是当初学习C++的笔记。06年7月之前,做嵌入式开发的,比如单片机,DSP等,在7月14号最终确定彻底转向计算机方向,并分到一个项目组(学校),做流媒体服务器开发。之前开发汇编用得多,C懂点,C++根本不懂。开始的第一天拿到上千行的C++代码,彻底晕了,根本看不懂。于是接下来3天,看了 这本书,并写下了最初的这份笔记。后面的2周内,写出了3000多行的C++项目代码,虽然有bug,但这份经历对我影响很大。那些天每天工作都在12小时以上,眼睛都看花了。这份笔记对自己早已没多大价值,但这份经历却让我印象深刻。希望这些笔记对初学者能有所帮助! 阅读全文
点击右上角即可分享
微信分享提示