在使用vector的时候犯了一个导致编译错误,在这里记录一下。
vector是非常常见也非常好用的容器,但是vector的指针有一些特殊。如果想要获得vector的数组的指针,我找到了两种方法。
&vec[0]
vec.data()
这两中方法都可以得到数据的第一个元素的指针,如果要对函数出入指针,则需要这样获取。
另外在求字符大小的时候使用了sizeof,但实际直接使用会得出错误的结论,如:
sizeof(vec);
这样获得的不是这个vector的字符大小,而是这个vector的类型的字符大小,也就是数如果类型相同,不管其中包含多少元素,大小是一样的。
sizeof(float)*vec.size();//这样是正确的值
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)