不同容器删除元素的方法
去除一个容器中有特定值的所有对象:
如果容器是vector、string或deque,使用erase-remove惯用法。
如果容器是list,使用list::remove。
如果容器是标准关联容器,使用它的erase成员函数。
去除一个容器中满足一个特定判定式的所有对象:
如果容器是vector、string或deque,使用erase-remov...
分类:
其他好文 时间:
2014-09-21 13:35:20
阅读次数:
230
尽量使用区间成员函数代替它们的单元素兄弟的理由
一般来说使用区间成员函数可以输入更少的代码。区间成员函数会导致代码更清晰更直接了当。当处理标准序列容器时,应用单元素成员函数比完成同样目的的区间成员函数需要更多地内存分配,更频繁地拷贝对象,而且/或者造成多余操作。
// 把一个int数组拷贝到vector前端
int data[numValues]; // 假设numValues在其他地方...
分类:
其他好文 时间:
2014-09-20 19:18:39
阅读次数:
198
(一)
注意从 “面向对象的C++” 转向 “模板C++” 时继承可能遭遇问题 :由于基类模板可能被特化,而该特化版本可能会改变成员,因此C++拒绝在模板化基类中寻找继承而来的名称。
(二)
看下面的例子:
假设将信息传送到不同的公司去,传送方式包括明文传送和密文传送,采用模板类的设计方法:
class CompanyA {
public:
...
void sendCl...
分类:
编程语言 时间:
2014-09-20 16:10:39
阅读次数:
163
(一)
template声明式中,class和typename这两个关键字意义完全相同
template class Widget;
template class Widget;
(二)
template
void print2nd(const C& container)
{
if (container.size() >= 2)
{
...
分类:
编程语言 时间:
2014-09-20 10:08:17
阅读次数:
284
本系列作为Effective JavaScript的读书笔记。
假设需要一个API用来遍历若干元素,像下面这样:
var it = values(1, 4, 1, 4, 2, 1, 3, 5, 6);
it.next(); // 1
it.next(); // 4
it.next(); // 1
相应的实现可以是:
function values() {
var ...
分类:
编程语言 时间:
2014-09-19 21:12:46
阅读次数:
223
本系列作为Effective JavaScript的读书笔记。
arguments对象只是一个类似数组的对象,但是它并没有数组对象提供的方法,比如shift,push等。因此调用诸如:arguments.shift(),arguments.push()是错误的。
在Item 20和Item
21中,知道了函数对象上存在call和apply方法,那么是不是可以利用它们来让argu...
分类:
编程语言 时间:
2014-09-19 10:10:25
阅读次数:
174
本系列作为Effective JavaScript的读书笔记。
在Item 21中,介绍了结合apply方法实现的可变参数列表函数average,它实际上只声明了一个数组作为参数,但是利用apply方法,实际上可以接受若干元素作为参数:
function averageOfArray(a) {
for (var i = 0, sum = 0, n = a.length; i < ...
分类:
编程语言 时间:
2014-09-18 11:35:53
阅读次数:
278
OverviewIn the previous sections, you constructed a 3-layer neural network comprising an input, hidden and output layer. While fairly effective for MN...
分类:
Web程序 时间:
2014-09-17 18:26:32
阅读次数:
289
Core Java 2(最新版已经到了第七版,共2卷):基础
Thinking in Java(最新版已经到了第四版):提高
Effective Java:高级(强烈推荐)
The JavaTM Virtual Machine Specification, Second Edition(深入剖析JVM的运行机制):难
The Java Language Specification(...
分类:
编程语言 时间:
2014-09-17 15:19:32
阅读次数:
235
本系列作为Effective JavaScript的读书笔记。
下面是一个拥有可变参数列表的方法的典型例子:
average(1, 2, 3); // 2
average(1); // 1
average(3, 1, 4, 1, 5, 9, 2, 6, 5); // 4
average(2, 7, 1, 8, 2, 8, 1, 8); // 4.625
而以下则是一个只接...
分类:
移动开发 时间:
2014-09-17 13:40:12
阅读次数:
235