Effective.C++学习(学习中)

原创 2011年01月18日 00:00:00


基础:

1、尽量使用const、inline而不使用#define.

尽量的把任务交给编译器去做。


2、尽量用<iostream>而不用<stdio.h>


3、尽量用new/delete而不用malloc/free


4、尽量使用C++风格的注释

 

内存管理:

内存管理:

1、对应的new和delete要采用相同的形式

用new的时候会发生两件事:

首先,内存被分配

然后,为被分配的内存调用一个或多个构造函数

2、析构函数里对指针成员调用delete

3、预先准备好内存不够的情况

assert这个宏检查传给它的表达式是否非零,如果不是非零值,就会发出一条出错信息并调用abort。assert只是在没定义标准宏ndebug的时候,即在调试状态下才这么做。

4、写operator new和operator delete时要遵循常规

很重要的一点是函数提供的行为要和系统缺省的operator new一致。实际做起来也就是:要有正确的返回值;可用内存不够时要调用出错处理函数(见条款7);处理好0字节内存请求的情况

5、避免隐藏标准形式的new

因为内部范围声明的名称会隐藏掉外部范围的相同的名称,所以对于分别在类的内部和全局声明的两个相同名字的函数f来说,类的成员函数会隐藏掉全局函数

一种方法是在类里写一个支持标准new调用方式的operator new

另一种方法是为每一个增加到operator new的参数提供缺省值

6、如果写了operator new就要同时写operator delete

 

待续......

 

学习中的困惑

已经很长时间没有进行更新了,感觉写不出来什么了。这些天一直在反思在学习过程中哪里出现了问题,第一点原因:浮躁。我一天要学习三四个小时,然而总是“看”而未注重“学”,看视频的时候没有做好笔记导致写博客的...
  • Hanfeng_1999
  • Hanfeng_1999
  • 2016年06月01日 16:46
  • 830

Storm学习

Storm是Twitter开源的一个类似于Hadoop的实时数据处理框架。 Storm能处理高频数据和大规模数据的实时流计算解决方案将被应用于实时搜索,高频交易和社交网络上。而流计算并 不是最近的...
  • yinhaonefu
  • yinhaonefu
  • 2015年06月04日 22:20
  • 1098

我们都是小清新,学习——So easy

小女子也爱谈学——我们都是小清新,学习——So easy   你会学习吗?你懂学习吗?你的学习轻松吗?你的学习是享受吗?   对你的学习,你可产生过疑问?对你的疑问你可尝试过解决?    ...
  • hanxuemin12345
  • hanxuemin12345
  • 2012年08月09日 07:56
  • 1501

机器学习-梯度下降算法-特征缩放和学习速率选取

1. 特征缩放实际当我们在计算线性回归模型的时候,会发现特征变量x,不同维度之间的取值范围差异很大。这就造成了我们在使用梯度下降算法的时候,由于维度之间的差异使得Jθ的值收敛的很慢。我们还是以房价预测...
  • cgl1079743846
  • cgl1079743846
  • 2016年08月06日 21:04
  • 4888

如何学习(3):迭代学习,精益求精

学习不会是一蹴而就,也不是经历漫长阶段才能将知识学到,而是迭代式的。每个迭代都有知识进帐,但在多次的迭代学习过程中,才能做到建立「全栈式知识结构」和实现「系统化知识」。...
  • linyt
  • linyt
  • 2015年12月14日 01:05
  • 3242

人的一生就是在不断的学习中成长

今天来上班的路上,忽然想了许多,人的一生是如何的一个过程呢?我想应该是在不断的学习中逐渐成长的一个过程,遇到不懂的东西,通过老师教导,最后知道了,这是一种知识的学习;遇到人际交往的麻烦后,通过书本,同...
  • zubin006
  • zubin006
  • 2008年01月23日 10:47
  • 1935

caffe 多次降学习率设置

在数据量比较大的时候,往往采取多次降学习率进行训练。 例子中 cifar10 就用 traini_full .   #!/usr/bin/env sh TOOLS=./build...
  • u014114990
  • u014114990
  • 2015年08月14日 17:36
  • 1678

UCOSII学习归纳一

在熟悉UCOSIII应用的同时,对之前应用的UCOSII做一些归纳,供以后回顾。 1.UCOSII的任务如何分类?   1)用户创建的任务:用户最多可以创建63个任务,优先级0~62,0是最高优先级任...
  • tangxing1212
  • tangxing1212
  • 2015年11月19日 18:35
  • 377

梯度下降实用技巧II之学习率 Gradient descent in practice II -- learning rate

梯度下降实用技巧II之学习率 Gradient descent in practice II -- learning rate 梯度下降算法中的学习率(learning rate)很难确定,下面介...
  • u012328159
  • u012328159
  • 2016年03月31日 23:18
  • 5405

人工智能可在对话流中学习单词

日本大阪大学(Osaka University)的一组研究人员开发了用于对话系统的新方法。这种新方法通过隐式确认的方式习得词汇,计算机通过在对话流中确认它的预测是否正确以获得多个对话中某个未知单词的类...
  • gS780J
  • gS780J
  • 2018年01月12日 00:00
  • 99
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Effective.C++学习(学习中)
举报原因:
原因补充:

(最多只允许输入30个字)