effctive C++ 读书笔记 条款 16】的更多相关文章

条款16 成对使用new和delete时要採取同样形式 #include <iostream> #include <string> using namespace std; /* 条款16:成对使用new 和 delete时要採取同样形式 假设你在new表达式中使用[],必须在对应的delete表达式中也使用[].假设在new其中没有使用[],那么delete中也 不能使用[],两者是成对出现的. */ int main() { //第一版 : 报错 /* string * p_s…
16.1 更多集合接口 集合类(这里指IEnumerable层次结构)实现的接口层次结构 16.1.1 IList<T>与IDictionary<TKey,TValue> 字典类一般只按照键进行索引,而不按位置索引. 列表"键"总是一个整数,"键集"总是从0开始的非负整数的一个连续集合. 解决数据存储或数据获取问题时,考虑 ], list[6]); list.Remove("Grumpy"); 16.2.3 搜索List&…
在进行网络编程之前,先对网络以及互联网协议做一个了解. 推荐阮一峰的博客:(感谢) http://www.ruanyifeng.com/blog/2012/05/internet_protocol_suite_part_i.html --再去看一遍先-- --看完了-- 16.1引言 客户端.服务器架构 服务器是一个软件或者硬件,用来想一个或多个客户端提供所需要的“服务”.其中,硬件是指打印机.文件服务器等.软件服务器提供的服务主要是程序的运行.数据的发送与接收.合并.升级.或其他的程序或数据操…
条款08  别让异常逃离析构函数: 假设在析构函数其中发生了异常,程序可能会过早结束或者导致不明白行为(异常从析构函数传播出去) 看代码: #include <iostream> using namespace std; class DBConnection { public: void close() { int i = 3; int j = 0; int k = i/j; printf("%d\n",k); } }; class DBConn { public: DBC…
Effective C++在此条款中总结出两个结论 1.对于单纯常量,最好以const对象或enum替换#define 2.对于形似函数的宏,最好改用inline函数替换#define 接下来我们进行详细的探讨. const替换#define的讨论 例如: #define ASPECT_RATIO 1.653 原书给出的解释大意是: 你所使用的名称(ASPECT_RATIO)可能并未进入记号表(symbol table),原因也许是记号名称ASPECT_RATIO从未被编译器看见,也许在编译器开…
条款11: 在operator= 中处理"自我赋值" 在实现operator=时考虑自我赋值是必要的就像 x=y .我们不知道变量x与y代表的值是否为同一个值(把x和y说成是一个指针更恰当一点). 例如以下 第一版: #include <iostream> using namespace std; class bitmap { public: bitmap() { cout<<"调用bitmap()无參构造函数"<<endl; }…
第16章 string类和标准模板库 1. string容易被忽略的构造函数: string(size_type n, char c)长度为n,每个字母都为c string(const string & str, size_type pos = 0, size_type n = pos)初始化为str中从pos开始到结尾的字符,或从pos开始的n个字符 string(const char *s, size_type n)初始化为s指向的前n个字符,即使超过了s的结尾: string(Iter b…
如果你对const足够了解,只需记住以下结论即可: 将某些东西声明为const可帮助编译器侦测出错误用法,const可被施加于任何作用于内的对象.函数参数.函数返回类型.成员函数本体. 编译器强制实施bitwise constness,但你编写程序时应该使用概念上的常量性(logical constness) 当const和non-const成员函数有实质等价的实现时,令non-const版本调用const版本可避免代码重复 关键字const允许你指定一个语义约束,即指定一个对象不被改动,编译器…
常用的市场调研工具和方法 用户调查:第一,设计调查问卷需要技巧和经验,不是一件容易的事:第二,调查结果为获得解决方案提供了一要途径,但不是解决方案本身 产品使用分析:使用分析工具记录用户使用产品的行为,不断地观察学习,然后调整产品.应该明确告知用户分析工具只收集统计数据,不涉及用户隐私 数据挖掘:想知道同时使用几项服务的用户性别比例?想知道特定人物角色的活跃程度和分布情况?数据分析工具可以轻松回答这类问题 拜访用户:没有一种方法可以替代前往用户使用产品的场所实地考察的作用,但出于对资金和时间成本…
第十二章:重抽样与自助法 本章,我们将探究两种应用广泛的依据随机化思想的统计方法:置换检验和自助法 12.1 置换检验 置换检验,也称随机化检验或重随机化检验. 有两种处理条件的实验,十个受试者已经被随机分配到其中一种条件(A或B)中,相应的结果变量(score)也已经被记录.实验结果如下: 如果两种处理方式真的等价,那么分配给观测得分的标签(A处理或B处理)便是任意的.为检验两种处理方式的差异,我们可遵循如下步骤: (1) 与参数方法类似,计算观测数据的t统计量,称为t0: (2) 将10个得…