答案是:20(G++编译器下) 了解string,int的朋友很熟悉,string和int在G++下都是4字节,这样看来 grades的大小应为12字节。 给grades中放入三个整型值,100,110,120,sizeof(grades),竟然还是12! 由此说来,sizeof(vector<type>)的大小,跟容器里面存放多少数据无关,它是在编译期确定的一个值,仅跟具体的编译器有...
size() 是当前vector容器真实占用的内存大小,也就是容器当前拥有多少个元素; capacity() 是指在发生realloc前能允许的最大元素数,也即预分配的内存空间。 运行结果如下图所示: 发现sizeof(vec) 为24,并不等于 10 * sizeof(int) = 40。这是为什么呢? 这是因为 vector 是C++标准库中的容器类,其可以理解为...
由此可以看出:sizeof(vec)只取决于vector里面存放的数据类型,与元素个数无关。该值应该是与编译器相关的。 1 #include <iostream> 2 #include <vector> 3 using namespace std; 4 int main() 5 { 6 cout<<"sizeof(vector<char>) = "<<sizeof(vector<char>)<<endl; 7 cout<<"sizeof(vector<int>...
#include<iostream>#include<vector>usingnamespacestd;intmain(){vector<int>v;cout<<sizeof(v)<<en...
由于你使用的是vector->size(),这意味着向量必须是一个指针(除非你正在使用某种操作符重载魔术)。
vector添加数据 2019-11-29 21:45 −1 //vector的添加数据 2 void push_back(数据) 向vector 尾部添加一个数据data 3 v.insert(v.begin(),9); 在v.begin()之前 插入一个数据 4 v.insert(v.begin(),10,1);在v.begin()之... Nirogo ...
sizeof(a) = 24 //a是数组,但不需计算到'\0',结果为6 * 4=24 sizeof(aa) = 8 //aa为指针类型,大小为8 sizeof(*aa) = 4 //*aa指向a的第一个数字,大小为4 需要注意的是,如果不使用Vector作为数组进行参数传递,那么在传递数组引用是需要再传递一个数组的大小,否则在函数中无法根据首地址计算出数...
所以计算大小的时候,也是计算的指针的大小 直接上代码了 1 // class sizeof测试.cpp : 定义控制台...
关于C++中vector< vector >的含义.vector< vector > vvec;的意思是:定义了一个vector,这个vector的element也是一个vector,那么我要问的是,对于内层的vector,编译系统知道每个element的size为sizeof(int),而对于外层