`
heatpress123
  • 浏览: 3395 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

Effective C++学习笔记备忘

阅读更多

提示:本文是一篇个人读书笔记,并不是对原书内容的系统总结整理,可能对作者以外的读者没有太大的参考意义。

  目前对C++的了解还处于入门阶段,这本书真正看懂的内容大概只有一半左右。大部分条款和机制先建立一个印象,希望能在未来实际使用中再来回顾和加深理解。

条款02:

不允许在class内对static const类型变量赋值?替代方案是使用enum{NumTurns = 5};   (P14)

 

条款03:

1.const与指针(P17~18)

char greeting[]="Hello";
const char* p = greeting;//non-const pointer, const data
char* const p = greeting;//const pointer, non-const data
const char* const p =greeting; //const pointer, const data

决定哪个是常量与*和const二者位置相关。const *表示被指物是常量,* const表示指针自身是常量。常量Widget对象,下面两种意义相同:

void f1(const Widget* pw);
void f2(Widget const * pw);

2.const_cast和static_cast转型(P24)

 

条款04:

  member initalize list比构造函数为成员变量赋值效率通常更高,后者相当于调用了default构造函数为它们设初值,然后再赋予新值。(P28)

 

条款07:为多态基类声明virtual析构函数

  正如题名,这么做是为了经由base class指针删除derived class对象时把derived部分也一并销毁。(P41)

  把不带virtual析构函数的类作为基类是不明智的,比如string/vector/list/set/tr1::unordered_map等等。

 

条款11:在operator=中处理“自我赋值”

  方法一:判断两个操作数是否相同,比较耗费资源;

  方法二:swap()创建rhs的副本,并与this交换。

 

条款20:

  传递const引用可以避免传value引起的派生类被“切割”(slicing),不仅仅是高效。(P89)

 

条款27:

  使用容器存储直接指向derived class对象的指针(通常是智能指针)避免dynamic_cast。

 

条款30:

  inline函数如果改变,那么所用到的所有文件都需要重新编译;反之,non-inline函数改变时只需重新连接就好,比前者负担小得多。

 

条款43:

  template特化版:template<>语法,使得在参数为某一个时模板全特化。

分享到:
评论

相关推荐

    Effective C++学习笔记

    Effective C++是一本深入探讨C++编程实践的书籍,它提供了许多提高代码质量和效率的建议。以下是基于标题、描述和部分内容的关键知识点: 1. **虚函数的声明与使用**: - 在C++中,虚函数是实现多态性的关键。它们...

    Effective C++学习笔记.doc

    自己整理的侯捷版本&lt;&lt;Effective C++ 改善程序与设计的55个具体做法&gt;&gt; 学习笔记.

    effective c++读书笔记

    这些知识构成了《Effective C++》一书的基础,涵盖了C++语言的核心特性和最佳实践,对于C++的学习者和开发者来说,这些都是非常关键和实用的知识点。掌握这些内容,不仅有助于编写更加健壮和高效的C++代码,而且还能...

    Effective Modern C++学习笔记

    《Effective Modern C++:改善C++11和C++14的42个具体做法(影印版)(英文版)》中包括以下主题:剖析花括号初始化、noexcept规范、完美转发、智能指针make函数的优缺点;讲解std∷move,std∷forward,rvalue引用和全局...

    effective C++ 读书笔记

    effective C++ 很好 很不错 最好的C++进阶资料

    effective C++ 读书笔记 PPT

    摘录了《Effective C++》 (Scott Meyers 著)中有参考价值的编写代码建议,方面阅读

    effective C++读书笔记

    Effective C++读书笔记 本文总结了Effective C++读书笔记,涵盖了C++的四个主要次语言:C、Object-Oriented C++、Template C++和STL。同时,文章还讨论了高效编程守则,包括使用const、enum和inline替换#define,...

    Effective C++ More effective C++ 中文版 .chm .rar

    《Effective C++》和《More Effective C++》是两本非常经典的C++编程指南,由Scott Meyers撰写,旨在帮助开发者提升C++编程技巧和理解深度。这两本书中包含了一系列的编程实践和建议,旨在让程序员写出更高效、更...

    effective c++ & more effective c++ 纯文字版

    effective c++ & more effective c++ 纯文字版

    effective c++和more effective c++

    《Effective C++》和《More Effective C++》是C++编程领域中的两部经典之作,由Scott Meyers撰写。这两本书深入浅出地探讨了如何更有效地利用C++语言特性,提升代码质量和效率,是每一位C++程序员必备的参考书籍。 ...

    Effective C++第三版中文版高清版侯捷 译

    通过学习《Effective C++》,开发者不仅可以掌握C++的基础知识,还能了解到许多高级技巧和最佳实践,从而写出更高效、更可靠的C++代码。这本书是每个C++程序员书架上的必备之选,无论是初学者还是经验丰富的开发者,...

    Effective C++中文第3版.pdf 带目录书签 清晰版

    《Effective C++中文第3版》是一本由Scott Meyers所著的经典著作,该书深入浅出地介绍了C++编程语言的最佳实践与设计原则。它不仅适合初学者掌握C++的核心概念,也是资深程序员提高代码质量和性能的宝典。下面,我们...

    Effective C++中文版第三版 高清PDF带目录

    根据提供的标题、描述和标签,我们可以确定这与《Effective C++》这本书的相关资源有关。但是,在给定的部分内容中,并没有直接提及与本书的具体知识点,而是反复提到了一个名为“Linux公社”的网站及其涵盖的内容...

    Effective C++ 中文带目录

    《Effective C++》作为一本经典的C++学习书籍,深受程序员的推崇和喜爱。其内容全面、讲解清晰,并提供了大量的实例和技巧,帮助开发者提升在实际工作中的编程能力和效率。无论是初学者还是有经验的C++程序员,都能...

    Effective C++跟more Effective c++

    《Effective C++》和《More Effective C++》是两本由Scott ...通过深入学习《Effective C++》和《More Effective C++》,开发者可以更好地掌握C++的核心概念和最佳实践,编写出更加高效、健壮的代码,提升软件质量。

    Effective C++ && More Effective C++(完整版)

    这是我辛苦找来的侯捷翻译的Effective C++ && More Effective C++(完整版),其中Effective C++ 包括中文第二版,中文第三版,还有英文第三版。我这还有pdf,但是大于15MB,传不上去,有需要的,可以像我要啊!

    Effective C++ 3个版本清晰pdf

    通过阅读这三个版本的《Effective C++》,程序员可以全面了解C++语言的发展历程,掌握从早期C++到现代C++的关键变化,并学习如何充分利用这些新特性来编写更优秀的代码。无论是初学者还是经验丰富的开发者,都能从中...

    Effective C++ & More Effective C++.chm

    Effective C++ & More Effective C++.chm

Global site tag (gtag.js) - Google Analytics