strlen() 需要 include<cstring>
size() 需要 include<cstddef>
vector 是个容器 是复合类型
vector<char> 不会自动添加~ 是char 类型的容器 每个元素是一个个char字符
vecotr<string> 每个元素则会有\0 因为每个元素是string 类型的字符串
char str1[]="abcdefig";
string str="abcdefig";
const char str1=strc_str();
是c风格的 字符串
char str1[]={a,b,c,d,e,f,g};这样就没有自动添加了
vector<int >这样vector里面的元素是指针,指向外面的空间,在这里所有元素指向a[]数组,它们共享空间。造成这种情况。
可以修改成:
class pos
{
public:
int x, y;
pos(int xx, int yy):x(xx),y(yy){}
};
vector<pos> Position;
这样压入新坐标时可以
Positionpush_back( pos(2, 3));就压入一个新坐标(2,3)
Position[i]x来访问横坐标
vector的元素是连续存储的,只要获取任何一个元素的指针就可以使用指针访问vector里的每一个元素了,但是如果vector中插入或者删除元素,这个地址就有可能无效了。
解引用迭代器可以获取迭代器所指向的元素的引用,在对这个引用使用取地址运算符就可以获取该元素的内存地址。
以上就是关于C\C++,计算Array,Vector元素长度的函数全部的内容,包括:C\C++,计算Array,Vector元素长度的函数、c++ Vector中如何显示数组元素、c++ 怎样获取vector中元素的存储地址等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)