对于一个参数有多个的构造器的类,程序员一向习惯采用重叠的构造器模式(我经常cai)。...
分类:
编程语言 时间:
2014-08-24 23:56:53
阅读次数:
431
条款41:了解隐式接口和编译期多态
n classes和templates都支持接口和多态
n 对classes而言接口是显式的,以函数签名为中心,多态则是通过虚函数发生于运行期。
n 对templates参数而言,接口是隐式的,奠基于有效表达式,多态则是通过template具现化和函数重载解析发生于编译器。
条款42:了解typename的双重意义
n 声明模板参数,前缀关键字...
分类:
编程语言 时间:
2014-08-22 22:37:43
阅读次数:
261
条款26:尽可能延后变量定义式的出现时间
std::string encryptPassword(conststd::string &password)
{
std::string encrypted;
encrypted=password;
encrypt(encrypted);
return encrypted;
}
这样定义即初始化encrypted付出的代价是一个构造函数和...
分类:
编程语言 时间:
2014-08-22 17:50:39
阅读次数:
249
条款13:以对象管理资源
使用RAII,获得资源后立刻放进管理对象,管理对象运用析构函数确保资源被释放。
为防止资源泄露,请使用RAII对象,它们在构造函数中获得资源并在析构函数中释放资源。
两个常被使用的RAII类是tr1::shared_ptr和tr1::auto_ptr。前者通常是较佳选择,因为其拷贝行为比较直观。若选择auto_ptr,复制动作会使被复制物指向null.
条款14...
分类:
编程语言 时间:
2014-08-22 16:22:49
阅读次数:
250
Unix中常见的几个概念,下面做一个解释.首先需要明确一点,这几个概念都是和进程相关的.real user ID表示的是实际上进程的执行者是谁,effective userID主要用于校验该进程在执行时所获得的文件访问权限,也就是说当进程访问文件时检查权限时实际上检查的该进程的"effective ...
分类:
其他好文 时间:
2014-08-22 16:05:39
阅读次数:
184
本系列作为Effective JavaScript的读书笔记。
Item 8:少用全局对象
重点:
全局对象能够带来便利,但是有经验的程序员都会视图避免它。因为它会带来潜在的命名冲突的风险
全局变量是维系不同模块之间的纽带,模块之间只能通过全局变量来访问对方提供的功能
能使用局部变量的时候,绝不要使用全局变量
在browser中,this关键字会指向全局的window对...
分类:
编程语言 时间:
2014-08-22 13:07:09
阅读次数:
209
条款1:视C++为一个语言联邦
C++包括这四个部分:
l C
l Object-Oriented C++
l Template C++
l STL
n C++高效编程守则视状况而变化,取决于你使用C++的哪一部分
条款2:尽量以const,enum,inline替换#define
下面这个宏夹带着宏实参,调用函数f:
#define CALL_WITH_M...
分类:
编程语言 时间:
2014-08-22 12:55:28
阅读次数:
192
原创文章,转载请注明出处:http://blog.csdn.net/sfh366958228/article/details/38706483
闲谈
这两天都是先在地铁里看了会《Effective C++》,然后再回公司继续看,起先是因为地铁里太多无聊,手机也没信号,可看着看着发现里面的内容越来越“接地气”,开始有点无法自拔起来。
今天依旧是翻阅着找自己感兴趣的开始看,先是回到条...
分类:
编程语言 时间:
2014-08-21 15:04:14
阅读次数:
190
本系列作为Effective JavaScript的读书笔记。
提起Unicode,也许许多程序员都会觉得这玩意很麻烦,可以本质上,Unicode并不复杂。世界上每种语言的每一个文字都有一个整形数值用来表示它们。范围是0到1114111,这个值在Unicode术语中被称为Code
Point。在字符到整形数值的映射上,Unicode和其它编码方式诸如ASCII并没有区别。
但是...
分类:
编程语言 时间:
2014-08-21 13:25:04
阅读次数:
218
对于类而言,为了让客户端获取它资深的一个实例,最常用的方法就是提供一个共有的构造器。还有一种放你发,也应该子每个程序员的工具箱中占有一席之地。类可以提供一个共有的静态 工厂方法,它只是返回类的实例的静态方法。
类可以通过静态工厂方法类提供它的客户端(对象),而不是通过构造器。提这样做的好处有:
1.静态工厂方法与构造器不同的第一大优势在于,它们有名称.比如构造器BigInteger(int,i...
分类:
编程语言 时间:
2014-08-21 00:15:18
阅读次数:
230