码迷,mamicode.com
首页 >  
搜索关键字:effective stl    ( 8046个结果
Effective C++:条款16:成对使用new和delete时要采取相同形式
(一) 先看下面的代码: string* stringArray = new std::string[100]; ... delete stringArray; 这样的做法是错误的,因为stringArray所含的100个string对象中的99个可能并没有被适当地删除,因为它们的析构函数很可能没有被调用。   (二) 使用new时发生的事情: (1)内存被分配出来; (2)针...
分类:编程语言   时间:2014-06-19 10:31:16    阅读次数:224
Effective C++:条款14:在资源管理类中小copying行为
(一) 上一条款说的auto_ptr和tr1::share_ptr适合于heap-based的资源,然而并不是所有资源都是heap-based的。换句话说并不是tr1::shared_ptr 和 auto_ptr 永远适合做为资源的管理者。所以有时难免还是需要实现自己的资源管理类型。 假设Mutex类型通过lock和unlock两组函数进行互斥器的锁定和解锁,可能我们希望和auto_ptr一样...
分类:编程语言   时间:2014-06-19 10:22:06    阅读次数:302
Effective C++:条款18:让接口容易被正确使用,不易被误用
(一) 看下面这个例子: class Date { public: Date(int month, int day, int year); }; 很有可能引起下面这两个错误: (1)他们也许会以错误的次序传递参数,如:Date d(30, 3, 1995); (2)他们可能传递一个无效的月份或天数,如:Date d(2, 30, 1995); 许多像这类客户端错误。...
分类:编程语言   时间:2014-06-19 09:50:17    阅读次数:249
Effective C++:条款15:在资源管理类提供对原始资源的访问
(一) 下面代码: tr1::shared_ptr pInv(createInvestment()); int daysHeld(const Investment* pi); 我们要调用daysHeld函数的话,就必须传递一个Investment指针,但是我们现在只有pInv对象,所以我们需要一个函数可将RAII class(本例为tr1::shared_ptr)对象转换为其所内含之原始资...
分类:编程语言   时间:2014-06-16 11:55:57    阅读次数:250
Effective C++:条款17:以独立语句将newed对象置入智能指针
(一) 假设有下面这两个函数: int priority(); void processWidget(tr1::shared_ptr pw, int priority); 现在这样调用它: processWidget(new Widget, priority()); 但是!上面这种调用不能通过编译,因为tr1::shared_ptr构造函数需要一个原始指针,但是,这个构造函数是expl...
分类:编程语言   时间:2014-06-16 11:31:09    阅读次数:296
九、Android学习笔记_ Android开发中使用软引用和弱引用防止内存溢出
在《Effective Java 2nd Edition》中,第6条“消除过期的对象引用”提到,虽然Java有 垃圾回收机制,但是只要是自己管理的内存,就应该警惕内存泄露的问题,例如的对象池、缓存中的过期对象都有可能引发内存泄露的问题。书中还提到可以用 WeakHashMap来作为缓存的容器可以有效...
分类:移动开发   时间:2014-06-16 09:17:26    阅读次数:292
More Effective C++
条款一:指针与引用的区别指针与引用看上去完全不同(指针用操作符’*’和’->’,引用使用操作符’.’),但是它们似乎有相同的功能。指针与引用都是让你间接引用其他对象。你如何决定在什么时候使用指针,在什么时候使用引用呢?首先,要认识到在任何情况下都不能用指向空值的引用。一个引用必须总是指向某些对象。因...
分类:编程语言   时间:2014-06-16 07:20:39    阅读次数:301
Effective C++
一.让自己习惯C++ 条款01:视C++为一个语言联邦 为了更好的理解C++,我们将C++分解为四个主要次语言: C。说到底C++仍是以C为基础。区块,语句,预处理器,内置数据类型,数组,指针统统来自C。Object-Oreinted C++。这一部分是面向对象设计之古典守则在C++上的最直接实施....
分类:编程语言   时间:2014-06-16 06:18:05    阅读次数:322
Effective Java提升Code Coverage代码涵盖率 - 就是爱Java
虽然我们已经有了测试程序,但是如何得知是否已完整测试了主程序?,透过Code Coverage代码涵盖率,我们可以快速地得知,目前系统中,有多少程序中被测试过,不考虑成本跟投资效益比,涵盖率越高,代表系统如预期正常运作的面向也越广泛。
分类:编程语言   时间:2014-06-12 19:15:58    阅读次数:403
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!