array push back(如何定义未知大小的数组)

本文目录
- 如何定义未知大小的数组
- c++ 里获得数组元素的个数
- 关于STL 向量的一个问题
- 怎样使用vector存放结构体数组的值呢是push_back() 还是直接下标赋值呢 怎么用push_back
- 高分求助一个C++问题(急!!!)
- vector的成员函数push_back能用数组做参数吗
- 如图,Plane是一个类,v_array.push_back(fly)是啥意思
如何定义未知大小的数组
数组定义必须明确数组长度,所以未知长度的数组是无法直接定义的。
1.如果你的数组在运行过程中可以确定,比如你输入一个整数来确定数组长度,这样的话可以通过动态内存分配实现。比如:
int a;
cin》》a;
int *b=new int;
2.如果你的数组运行的时候都无法确定长度,比如你的数组可能会不断的添加新元素进去。这时候可以使用C++的标准库vector实现,比如:
vector《int》 array;
array.push_back(10);
array.push_back(10);
array.push_back(10);
c++ 里获得数组元素的个数
不可以吧
要想这么用的话 可以把数组的长度事先求出来阿 ,然后用个全局变量 表示 , 这样就可以在函数中应用了
或者 vector
数组定义为 vector《int》array;
存入一个数就是 array.pushback(i);
此时 函数形参要变为:
void abc(vector《int》V)
{
V.size() 就是数组实际的个数
}
关于STL 向量的一个问题
for( IntArray::iterator itor=array.begin(); itor!=array.end(); )
{
if( 2 == *itor )
{
array.erase( itor );//删除元素的时候指针不移位。
}else
itor++;
不对吧 如 回答者: _鈊_烦_薏乱 - 一派掌门 十二级 5-19 21:55 所说 插入或删除后 iterator会失效 不只是指针移位的问题 我认为不如新构建一个vector复制元素过去更简单
vector《int》 newArray; // 我不喜欢你的声明方式
for(int i=0;i《array.size();i++){ // int类型虽然不规范 但没错
if(array);
}
怎样使用vector存放结构体数组的值呢是push_back() 还是直接下标赋值呢 怎么用push_back
vertex 临时值;
操作vertex(临时值);
G.push_back(临时值);
高分求助一个C++问题(急!!!)
楼主有几个问题
1、vector是模板类,必须指定类型才能用,比如vector《long》
2、array是保留字,不能用作变量名,至少在vc2008下是这样的,所以我改成了my_array
3、vector::size_type,同1问题,也得给出类型vector《long》::size_type
4、 for(vector::size_type i=array.size();i》=0;--i)这句判断是有问题的,因为i是vector《long》::size_type,但是你查一下msdn会发现,这个类型最终指向是ULONG_PTR,也就是无符号长整指针。这个变量是无符号型的。所以永远》=0,死循环。
5、cout不能直接输出向量,应该指定索引号myarray
6、i=array.size()是不行的应该是i=array.size()-1,因为数组的元素个数比最大下标要大1,因为有0号元素嘛
最后是我给你改的,vc2008调试通过
#include 《iostream》
#include 《vector》
using namespace std;
void main()
{
//vector array1;
//array1.push_back(1);
//array1.push_back(2);
//array1.push_back(3);
//for(vector::size_type i=array1.size();i》=0;--i)
// cout《《array1《《endl;
vector 《long》 my_array;
my_array.push_back(1);
my_array.push_back(2);
my_array.push_back(3);
for (long i=my_array.size()-1;i》=0;--i)
{cout《《my_array《《endl;}
}
vector的成员函数push_back能用数组做参数吗
可以。vector只是stl中的一个容器。里面存放什么内容完全是你自己设置的。
vector《int》 ivec;//存放的就是整形
vector《int *》 ipvec;//就可以存放数组
如图,Plane是一个类,v_array.push_back(fly)是啥意思
1.vector中push_back函数的意思是在vector的末尾插入一个元素。2.vector简单理解为动态一维数组push_back作用是在这个一维数组尾部插入一个元素 vectorint v.push_back(1); //v里面是: 1 v.push_back(2); //v里面是: 1 , 2 v.push_back(3); //v里面是: 1 , 2 , 3。

更多文章:
知名女星孙侨璐于跨年夜,心梗猝死,年仅25岁!一一一写给年轻人?1月2日演员孙侨潞离世,说好的来日方长转眼就是别离
2026年10月15日 10:40
avantage怎么设置为中文(Avantage安装丢失GIT)
2026年10月15日 03:00
activex控件未注册怎么办(登陆视频监控网页时提示activex控件未注册,怎么解决)
2026年10月14日 20:30





