Effective C++读书笔记(1)-Introduction

----------------------------- Scott Meyers*Third Edition------------------------------------    


If you follow all the guidelines all the time, you are unlikely to fall into the most common traps surrounding C++, but guidelines, by their very nature, have exceptions. That's why each Item has an explanation. The explanations are the most important part of the book. Only by understanding the rationale behind an Item can you reasonably determine whether it applies to the software you are developing and to the unique constraints under which you  toil.


A declaration tells compilers about the name and type of an object, function, class, or template, but it omits certain details. 


A definition, on the other hand, provides compilers with the details. For an object, the definition is where compilers allocate memory for the object. For a function or a function template, the definition provides the code body. For a class or a class template, the definition lists the members of the class or template.


   extern int x;//object declaration

   int x;//object definition


Initializationis the process of giving an object its first value. For objects of user-defined types, initialization is 

performed by constructors. A default constructor is one that can be called without any arguments. 

Such a constructor either has no parameters or has a default value for every parameter.


Constructors declared explicitare usually preferable to non-explicit ones, because they prevent compilers from 

performing unexpected (often unintended) type conversions. Unless I have a good reason for allowing a constructor 

to be used for implicit type conversions, I declare it explicit. I encourage you to follow the same policy.


Effective C++ programmers do their best to steer clear of undefined behavior

int *p=0;//p is a null pointer

std:cout<<*p;//dereferencing a null pointer





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值