Effective C++ 随笔(1)】的更多相关文章

条款27:尽量稍作转型动作 const_cast:常量性移除 dynamic_cast:安全向下转型 reinterpret_cast: static_cast: 如在子类当中享调用父类当中的某个方法,尝试使用转型方式,将其转换为父类的方式是不对的 static_cast<fclass>(*this).function(); function执行的是在一个临时对象上,而不是当前对象的父类上.如要调用父类方法,需使用下属方式 fclass::function(); 条款30:透彻理解inlini…
条款21:必须返回对象时,别妄想返回其reference 例子: Raional类可以执行有理数的一些运算,并且使用heap内存申请 并且其operator*函数为 const Rational& operator*(const Rational& lhs,const Rational& rhs){ Ratinal* result = new Rational(.....); return * result; } 在函数中进行了heap内存申请,因此返回引用时没有问题的,但是问题在…
条款12: 以对象管理资源 两种只能指针: std:auto_ptr<> 当使用copy操作室,原先的智能指针指向为null std:tr1:share_ptr<int> spi(); 当可以多个指向同样的地址,但是当delete是会进行根据指向改地址的指针数量是否要delete这块内存 条款13 在资源管理中小心copying行为 class Lock{ public: explicit Lock(Mutex* pm):mutexPtr(pm){ lock(mutexPtr);…
条款5 了解c++默默编写并调用哪些函数 编译器自动生成的copy 构造函数,copy赋值操作符,析构函数,构造函数,这些都是public和inline的,此处inline的意思是他们的定义都是在头文件当中的 假设有一个引用类型的数据成员,那么上面的赋值操作是不对的,因为引用不能改变 条款6 如不想使用编译器自动生成的函数,就该明确拒绝 上面的赋值构造函数,赋值操作符都可以有编译器自动生成,为了拒绝使用上面两种函数,可以创建一个将这种函数定义私用成员的类,从而不会使用这些函数 class Unc…
条款一 c++ 为一个语言联邦 1.四个层次 C:blocks,语句,预处理器,内置数据类型,数组,指针 面向对象的C++:封装,多态,继承 Template C++ STL 条款二 尽量以const,enum,inline代替#define Static const 常量的声明和定义,声明应该是在头文件当中,定义是在实现文件当中.对于基本类型需要一个类似赋值的语句,例如: const double classname::membername = 12; 但是对于对象的定义使用下面的方式 cla…
/*********************************************************** 关于书: 书是我从网上找到的effective Modern C++的样章,内容只到条款4就没有了, 所以现阶段我只能翻译到条款4,不过以后有机会我会继续翻译的. 如果读者找到了完整的版本,欢迎大家发给我.1021842556@qq.com effective Modern C++的样章的下载地址http://pan.baidu.com/s/1ntKBlpf 提取密码是upk…
哈哈,各位园友新年快乐!愚安好久没在园子里写东西了,这次决定针对javascript做一个系列,叫做<小王子浅读Effective javascript>,主要是按照David Herman的<Effective javascript>的内容做一些解读和扩展.原书中有68点针对javascript编程的小tips,很是经典,园友们也可以网上找找PDF读一下,写的很不错,也可以买买原著读读,提醒下,这本书的中文译本也已经出了.为什么叫“浅读”,一方面是愚安并不是专业javascrip…
Linux随笔-鸟哥Linux基础篇学习总结(全) 修改Linux系统语系:LANG-en_US,如果我们想让系统默认的语系变成英文的话我们可以修改系统配置文件:/etc/sysconfig/i18n [root@localhost ~]# cat /etc/sysconfig/i18n LANG="en_US.UTF-8"SYSFONT="latarcyrheb-sun16" [root@localhost scripts]# lltotal 8-rw-r--r-…
初探 AI人工智能系列随笔:syntaxnet 初探(1)…
CoreCLR配置系列 在Windows上编译和调试CoreCLR GC探索系列 C++随笔:.NET CoreCLR之GC探索(1) C++随笔:.NET CoreCLR之GC探索(2) C++随笔:.NET CoreCLR之GC探索(3) C++随笔:.NET CoreCLR之GC探索(4) CoreCLR探索系列 C++随笔:.NET CoreCLR之corleCLR核心探索之coreconsole(1) C++随笔:.NET CoreCLR之corleCLR核心探索之coreconsol…