vector和string最重要的区别
来源:互联网 发布:沉迷网络的坏处 编辑:程序博客网 时间:2024/05/21 15:42
这个区别很重要,大家尤其是在做开发的时候一定要注意,否则这就是一个很大的坑!
Vector和string其实没有多大区别,都是容器,只是适用范围不同,都是系统随机分配一块连续的内存,但就在这就会有区别了,string是字符串,在随机分配一块内存的时候,它会把字符串尾部的’\0’插入到内存块,随着插入字符,’\0’会自动向下移动,所以string定义一个空的字符串时,他的内存块是已经分配好的,而vector则不是的,如果vector只是定义一个没有任何内容的内存块,所以这就是他们的最大区别,下面举个例子:
例如:
#include <iostream>
#include <vector>
#include <string>
Using namespace std;
Int main()
{
////////////vector example////////
Vector<int> vec_int;
Cout << Vec_int[0] << endl;//这个语句编译时是不会报错的,运行的时候就会崩溃
///////////string example/////////
String str;
Cout << (int)Str[0] << endl; //而这个语句就不会报错,而是输出0,因为’\0’
Return 0;
}
更多详细内容在这里!
0 0
- vector和string最重要的区别
- std::vector<std::string>::size_type和 int的区别
- vector<char*>和vector<string>的不同
- Vector、set、string、map的区别
- vector<int>G[] 和 vector<vector<int> G 的区别
- ArrayList和Vector的区别
- ArrayList和Vector的区别
- ArrayList和Vector的区别
- vector和list的区别
- ArrayList和Vector的区别
- ArrayList和Vector的区别
- list和vector的区别
- Vector和ArrayList的区别
- arrayList和vector的区别
- vector和arraylist的区别
- arraylist和vector的区别
- ArrayList和Vector的区别
- ArrayList 和Vector的区别
- jBPM学习笔记
- VC获取进程启动和结束时间
- 34 Android 简单版本信息封装
- WINCE的内存配置
- tasklist详解
- vector和string最重要的区别
- 大学要毕业了
- VS2010配置OpenCV
- light table
- 2 知识点怎么获取sd卡的大小
- Obscure C++ Features
- 查询转换-视图合并
- taskkill详解
- java教程(四)关于MVC