美文网首页
C++之"new"数组之坑

C++之"new"数组之坑

作者: 知成 | 来源:发表于2022-12-21 18:12 被阅读0次

最近在写go与C++的混合编程中,暴露给go的C接口因为不能直接使用容器;我对容器进行了转换将之前的std::vector转换成实际C的数组;使用:malloc_usable_size(),_msize(),函数获取new生成数组申请的内存的大小;

原本想用malloc_usable_size或_msize计算出的尺寸,当作原始的元素size,不曾想,用malloc_usable_size或_msize计算出的尺寸是大于大于申请的数量的。这种情况下在释放我想要释放的内存时,就会出错。

malloc_usable_size();    // linux 下用于计算new 或 malloc申请的内存大小
_msize();  // windows 下用于计算new 或 malloc申请内存的大小

相关文章

  • 慕课网-C++远征之封装篇(下)-学习笔记

    C++远征之封装篇(下) c++封装概述 类 & 对象 对象+数据成员 = 对象成员 对象 + 数组 = 对象数组...

  • c++ new 和delete的种种

    new/delete动态管理对象,new[]/delete[]动态管理对象数组。 C++中,把int 、char....

  • C++ new多维数组

    为啥第二行就错误呢?其实我们可以这样理解: int(p)[3]其中p是指针,这是毋庸置疑的,那这个指针指向什么类的...

  • 数组和字符串

    title: c++之管理数组和字符串tags: 语言工具-c++categories: c++date: 201...

  • php基础精粹

    PHP php数组 php数组之索引数组初始化 PHP数组之索引数组赋值 PHP数组之访问索引数组内容 PHP数组...

  • C++之new和delete

    概述 new是从堆区申请空间(作用等价于c语言:malloc calloc realloc) delete是释放堆...

  • c++ supplement之数组

    数组与向量vector比较相似,但两者最大的不同在于数组是固定长度的,而向量是可以随意进行元素添加的。针对于这个性...

  • C++之数组篇

    样例一: 样例二: 样例三: 样例四: 样例五:

  • C、C++之动态数组的实现

    C、C++之动态数组的实现 本篇博客基于笔者本人正在学习的C++上机课程作业,主要代码由C语言构成。由于C语言没有...

  • 转载:C++中使用new动态生成一个数组空间以及使用delete

    C++中使用new动态生成一个数组空间以及使用delete对存储空间进行释放。 //使用new动态分配存储空间 #...

网友评论

      本文标题:C++之"new"数组之坑

      本文链接:https://www.haomeiwen.com/subject/ldmmqdtx.html