1.非字符串数组: sizeof(array) /sizeof(datatype) 注意如果用指针作为实参传入函数,sizeof(array)的值将出错,变为所指地址的值的长度 在C中可以用宏定义 #defineGET_ARRAY_LEN(array,len) {len = (sizeof(array) / sizeof(array[0]));} 在C++中可以用全局变量 template <classT>intgetArrayLen(T&a...
vector<int> v(n)表示声明一个容器v,并给他预定存储空间。每一个单元初始化为0,因此,vector<int> v(n)也等同于vector<int> v(n, 0)。当然,如果想要初始化为其他值,也可以改为vector<int> v(n, val) vector<int> v(5); cout << v.size() << endl; for (int i = 0; i < v.size(); ...
从上面我们可以发现, vector也可以通过[]下标索引器来访问其中的元素, 同std::string一样,要注意索引的大小要小于 vector.size(), 否则会在运行时出错,但是需要特别注意的是, 不能使用索引器添加元素, 下面的代码是错误的 std::vector vec //这种用法是错误的 vec[0] = 22 同std::string类似, vector也提供...
vector<vector<int>> table(size1, vector<int>(size2, 0)); 代码说明:声明一个名为table的容器,其元素为vector的容器。简单来说类似一个int型的二维数组。 这样,就得到了一个如下图所示的二维容器。 具体代码的内容,可以这样理解: 图中,我将外围容器table的初始化参数分成了两部分A、B。
for(inti=0;i<v.size();i++){ printf("%d",v[i]); } return0; } 输出结果为: 0 1 2 3 4 访问vector中的元素 可以使用下标运算符[]或者at()函数来访问vector中的元素。 #include<stdio.h> #include<vector.h> intmain(){ vector<int>v={1,2,3,4,5}; // 使用下标运算符访问元素 printf...
vector<int>v1(v); //第三种定义方法 vector<int>v2(10, 1); //第四种定义方法 vector<int>v3(10); printf("first: "); for (vector<int>::size_type ix = 0; ix != v.size(); ix ++){ printf("%d\t", v[ix]); } printf("\n"); ...
voidpr_str_vector(vector<string>vec) { for(auto&v:vec) { cout<<v<<" "; } cout<<endl; } intmain() { vector<int>a; vector<int>b(a); vector<int>c(10,23); vector<string>s1(10,"null"); vector<string>s2(10); vector<string>s3={10,"hi!"};// 重点关注 ...
2.vector<数据类型> 函数名(a,b).定义a个空间,都初始化为b。 3.vector<数据类型> 函数名1=函数名2. 把动态数组2复制给动态数组1。 4.vector<数据类型> 函数名1(函数名2.begin(),函数名2.end()). 把动态数组2复制给动态数组1。 5.vector<数据类型> 函数名(a,a+sizeof(a)/sizeof(数据类型)),...
在C语言中,我们可以使用动态内存分配来定义一个类似于vector的数组。首先,我们需要定义一个结构体来表示这个数组,其中包含一个指向实际数据的指针和当前数组的长度和容量。typedef struct { int* data; int size; int capacity; } Vector; 复制代码接下来,我们可以定义一些函数来对这个数组进行操作。初始化函数:用于...