Effective C++ 55 Specific Ways to Improve Your Programs and design1、让自己习惯C++。 Accustoming yourself to C++条款01:视C++为一个语言联邦。 View C++ as a federation of languages.条款02:尽量以const enum inline 替换 #define。 Prefer const,enum and inline to #define.条款03:尽可能使用const。 Use const whenever possible.条款04:确定对象被使用之前已被
转载 2013-10-01 00:57:00
157阅读
最近又重新看了Effective C+,不过到现在还是有好多地方不懂的,先记下笔记,待用的时候再细细琢磨。 条款1:尽量用const和inline而不用#define 这个条款最好称为:“尽量用编译器而不用预处理”,因为#define经常被认为好象不是语言本身的一部分。 用const的好处是,调试时,可以直接获取变量,而非定义的数字,这个在使用gdb跟踪代码的时候很有用,比如#define N
转载 2009-11-04 15:31:00
121阅读
2评论
读的是电子版,因为觉得对自己有提升的地方不多,觉得有帮助的都做了相关说明,其他的只是列举了书本的的标题,对于理解的,多说都是费话:Basics1>View c++ as a federation of languages2>Prefer consts、enums、and inlines to #defines3>Use const whenever possible4>Ma
c++
原创 2013-06-08 17:36:04
586阅读
34.将文件间的编译依赖性降到最低。 对于一个大型程序,其结构是错综复杂的。当你对一个类进行一些改动时。改动的不是接口,而是类的实现,即仅仅是一些细节部分,但又一次生成程序时,所实用到这个类的的文件都要又一次编译。这里题目指的是这个意思。但实际上,我在vs2012实践了一下,对于类B与类A相关联,类
转载 2017-08-16 13:09:00
98阅读
2评论
Effective C++笔记 -- 改善程序与设计的55个具体做法
原创 2021-12-29 14:17:14
166阅读
explicit关键字C++中的explicit关键字只能用于修饰只有一个参数或者是其他参数有默认值的类构造函数, 它的作用是表明该构造函数是显式的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式).explicit关键字的作用就是防止类构造函数的隐式自动转换,防止隐式调用这个构造函数.上面也已经说过了, explic
转载 2022-12-12 12:00:04
131阅读
文章目录一、尽可能延后变量定义式的出现时间1、变量定义时间点的问题2、请记住二、尽量少做转型动作1、C++四种转型动作2、请记住三、避...
原创 2023-08-30 14:39:18
64阅读
一,让自己习惯c++        Accustoming Yourself to C++1,尽量以const, enum, inline替换#definePrefer consts and inlines to #defines.请记住对于单纯常量,最好以const对象或mums替换#defines。对于形似函数的宏(macros ),最好改用inline函数替换#def
原创 2021-08-18 02:47:23
217阅读
Chapter 1 Deducing Types Item 1: Understand template type deduction. Item 2: Understand auto type deduction. Item 3: Understand decltype. Ite...
转载 2014-12-10 16:53:00
270阅读
条款26:尽可能延后变量定义式的出现时间 当你定义一个变量的时候就要保证这个变量能够在程序中使用到,不要定义无意义的变量,这样就要求我们最好是在变量使用到的时候才做定义,因为如果一个变量定义了却不使用可能会造成效率上的降低,毕竟很多变量的构建是要调用对应的构造函数和析构函数的,考虑下面...
转载 2013-08-25 01:36:00
107阅读
2评论
Chapter 1 Deducing Types Item Item 3: Understand declt
原创 2023-06-09 16:29:44
76阅读
条款一:视C++为一个语言联邦 为了理解C++,你必须认识其主要的次语言。幸运的是总共只有四个: CC++是由C语言继承而来的,必然对C有很好的兼容性,这一部分主要包括C中的一些语言,库函数等。但当你以C++内的C成分工作时,高效编程守则照出C语言的局限:没有模板、没有异常、没有重载...
转载 2013-08-24 15:12:00
103阅读
2评论
文章目录一、视C++为一个语言联邦1、C++不同于C的部分2、可以将C++分为4个层次二、尽量以const,enum,inline替换#define1、#defi
原创 2023-08-30 14:39:41
61阅读
原创 2021-06-01 13:02:45
338阅读
公众号:畅游码海   这里有更多高质量原创文章和大量免费学习资料! Part1一、让自己习惯C++ 条款01:视C++为一个语言联邦C++并不是一个带有一组守则的一体语言:他是从四个次语言( C、Object-Oriented C++、Template、STL )  组成的联邦政府,每个次语言都有自己的规约。记住这四个次于语言你就会发现C++容易了解得多。条款02:尽
转载 2022-10-21 10:47:20
66阅读
条款二十三:宁以non-member、non-friend替换member函数本条款还是讨论封装的问题,举书上的例子:class WebBrower{public: void ClearCach(); void ClearHistory(); void RemoveCookies();};定义了一个WebBrower的类,里面执行对浏览器的清理工作,包...
原创 2023-06-01 17:18:52
74阅读
一.让自己习惯C++条款01:视C++为一个语言联邦 为了更好的理解C++,我们将C++分解为四个主要次语言:C。说到底C++仍是以C为基础。区块,语句,预处理器,内置数据类型,数组,指针统统来自C。Object-Oreinted C++。这一部分是面向对象设计之古典守则在C++上的最直接实施。类,...
原创 2021-08-04 10:09:08
155阅读
1,处理operator new内存分配失败的情况 #include using namespace std;template class newhandlersupport { //提供类set_new_handler支持的基类public: static new_handler set_new_handler(new_handler p); static void* ...
转载 2021-08-05 09:16:06
134阅读
Item 1: Prefer const and inline to #define.Item 2: Prefer to .Item 3: Prefer new and delete to malloc and free.Item 4: Prefer C++-style comments.Item 5: Use the same form in corresponding ...
转载 2021-08-05 09:16:24
98阅读
  • 1
  • 2
  • 3
  • 4
  • 5