- WinCE Security...
- xdebug配置说明
- VC++ 获取文件的创建、修...
- ASP进度条
- 简单代理服务器C代码实现(S...
- 程序设计竞赛试题选(02)
- 如何在ASP程序中打印Acc...
- UTF-8和16进制区间
- ASP实用技巧:强制刷新和判...
- 运行中程序删除自己的方法
- asp提高首页性能的一个技巧
- [J2EE]J2EE 应用服务器技术
- VB变量命名规范
- C语言常见错误小结
- (摘自网络)如何在IIS中调...
C++里的vector数组用法
vector 抽象容器类型之一(还有list和deque等),与其他几中容器类型不同的是它高效支持随机访问其中的元素。
使用vector,首先必须调用头文件(#include <vector>)
它的声明和初始化是这样的
vector <类型名> 变量名
vector <int> vi = ( 10 , 1 ) //初始化为10个元素的vector,每个元素都为1
push_back()的用法是将元素插入vector容器的最尾部
举个例子
vector <int> vi;
int a[4] = { 0, 1, 2, 3};
for ( int i = 0; i<=4; ++i )
vi.push_back(a[i]);
此时vi就是0 1 2 3
如果改成
vi.push_front( a[i] );
vi就是 3 2 1 0
参考资料:C++ Primer
vector是STL的一种,既然是“模版”,那么它就能存储复杂数据类型。
__________________________________________________
class complex_struct
{
int a;
char b;
string c;
struct d
{
int a;
}
...
}
__________________________________________________
以上这个类存在vector中没问题,但数组就完不成,链表可以,那你不是要自己完成吗,这样一来,它具有了链表的可扩充性和数组的操作灵活性。而且它是标准的,这样你就直接可以用。
另外,它是一个标准类,那么它就有了自己destructor,你不必为“内存泄露”担心了,链表可是需要你随时考虑释放资源的。只要你的程序结束了,destructor自动回收资源。至于道理吗和auto_ptr是一样的。
__________________________________________________
一种可以存储复杂数据类型而不需要你考虑资源释放的类(而且是现成的)。
特点是方便快捷,当然这还包括一些适配器的构成,其实和指针道理差不多,只是step多少的问题。
以上是我的理解,可以用的,你拿去,不能用的,就留下。