vector::data()返回指针在_msize中调用时崩溃问题
·
_msize函数可以或者传入指针分配的大小空间,但传入的指针必须是分配空间的首地址才行。
char *pChar = new char[250];
char *pTemp = pChar + 15;
size_t siz = _msize(pChar);
类似这段代码运行到_msize时就会导致程序崩溃。
同样_msize调用std::vector和qt的qvector对象的data()返回的指针时也会发生崩溃现象。
跟进std::vecotor::data函数可以大致看出,std::vecotor::data并没有返回分配内存的首地址。
从qvector可以更容易看出,在实际的数据地址之前,其实是还有一段数据头的。
更多推荐




所有评论(0)