摘要: 下面的条框应该是谨记的:1. 新的type应该如何创建与销毁2. 对象的初始化与赋值应该有什么样的区别3. 新type的对象如果被pass-by-value,有什么影响?4. 什么事新type的合法值5. 新的type需要什么样的转换6. 什么样的操作符和函数对于这个type而言是合理的7. 什么样... 阅读全文
posted @ 2015-10-06 20:24 eversliver 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 先考虑下面这个接口:1 class Data{2 ...3 public:4 Data(int month, int day, int year);5 };虽然声明是比较合理的,但是有时候人们不一定会这样做,例如做下面这样调用对于客户来说也是完全可能的:Data(2, 30, 1995);可... 阅读全文
posted @ 2015-10-06 19:58 eversliver 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 先可考虑下下面这个语句:1 int prioriy();2 processWidget(shared_ptr(new Widget), priority());上面这条语句看似比较正常,不会泄露资源,但是实际上并非如此。调用上面这个语句的时候基本上分成三步:1. new Widget2. 根据Wid... 阅读全文
posted @ 2015-10-06 19:18 eversliver 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 首先思考下面的代码:1 string * stringArray = new string[100];2 ...3 delete stringArray; 这是最常见的错误之一了,new与delete不配对,但是仔细想想new与delete为什么一定要配对呢? 可以想到一种可能就在分配数组的时候... 阅读全文
posted @ 2015-10-06 19:04 eversliver 阅读(202) 评论(0) 推荐(0) 编辑
摘要: Given a positive integern, find the least number of perfect square numbers (for example,1, 4, 9, 16, ...) which sum ton.For example, givenn=12, return... 阅读全文
posted @ 2015-10-06 17:22 eversliver 阅读(512) 评论(0) 推荐(0) 编辑
摘要: Given an arraySofnintegers, find three integers inSsuch that the sum is closest to a given number, target. Return the sum of the three integers. You m... 阅读全文
posted @ 2015-10-06 15:01 eversliver 阅读(687) 评论(0) 推荐(0) 编辑
摘要: 即使我们对一些资源使用了RAII类进行管理,但是还是不能避免很多的API需要你去提供原始的资源来对他们进行调用:例如对于条款13中的例子来说:1 shardPtr pInv(createInvestment);2 //看看下面这个函数3 int daysHold(const Investment *... 阅读全文
posted @ 2015-10-06 09:49 eversliver 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 首先假设对于一个mutex互斥器对象,有lock以及unlock两个函数可用:1 void lock(Mutex * pm);2 void unlock(Mutex * pm);那么为了防止资源忘记被释放,首先得想法就是创建一个RAII类来进行资源的管理,像下面这样:1 class Lock{2 ... 阅读全文
posted @ 2015-10-06 09:48 eversliver 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 首先考虑一个工厂函数Investment * createInvestment();void f(){ Investment * pInv = createInvestment(); ... delete pInv;}至少上面这个函数是不安全的,例如如果...里面包含ret... 阅读全文
posted @ 2015-10-05 21:43 eversliver 阅读(187) 评论(0) 推荐(0) 编辑
摘要: Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique triplets in the array which gives the sum of 阅读全文
posted @ 2015-10-05 21:12 eversliver 阅读(4850) 评论(0) 推荐(0) 编辑