以前只接触过bash,以为既然大家都是shell脚本语言,应该没有什么大差别,实际上还是差异很大的,包括for,while,if等语法都是差异挺大的,下面就分别贴出同样功能的分别实现的代码。
#!/bin/bash
x=1
while [ $x -le 5 ]
do
echo "Welcome $x times"
x=$(( $x + 1 ))
done
#!/bin/sch
set x=1
while ($x < 5 )
echo "Welcome $x times"
@ x = $x + 1
end
C++中,标准库提供了适配器,包括容器适配器,迭代器适配器和函数适配器。另外两种我们广泛使用了,那容器适配器的使用场景是什么呢?
容器元素初始化:
1,将一个容器初始化为另一个容器的副本,这个必须是类型匹配,包括容器类型和元素类型。
2,使用迭代器来初始化
优点:不要求容器类型相同,元素类型也只要相互兼容即可。
但是也有缺点,需要注意的地方:注意迭代器标记的范围,这里最好不要采用数字,因为元素个数是比较容易发生变化的,这样容易造成访问越界。比如下面的例子
int ia[7] = {0,1,2,3,4,5,6};
vector<int> ivec(ia, ia+8);
还有一个要注意的地方及时,迭代器1一定要小于迭代器2,迭代器2提供停止复制的条件。
3,直接分配和初始化指定书目的元素
比如list<int> ilist(10, 1);
这样就初始化了有10个元素为1的容器。
当然这样也要注意这种初始化方法只适用于顺序容器,不支持关联容器。