在C++中动态分配二维数组
来源:互联网 发布:淘宝prada高仿包 编辑:程序博客网 时间:2024/05/29 16:30
#include <iostream>
#include <cstdlib>
#include <new>
template <typename T>
T **darray_new(int row, int col)
{
int size = sizeof(T);
void **arr = (void **) malloc(sizeof(void *) * row + size * row * col);
if (arr != NULL)
{
unsigned char * head;
head = (unsigned char *) arr + sizeof(void *) * row;
for (int i = 0; i < row; ++i)
{
arr[i] = head + size * i * col;
for (int j = 0; j < col; ++j)
new (head + size * (i * col + j)) T;
}
}
return (T**) arr;
}
template <typename T>
void darray_free(T **arr, int row, int col)
{
for (int i = 0; i < row; ++i)
for (int j = 0; j < col; ++j)
arr[i][j].~T();
if (arr != NULL)
free((void **)arr);
}
实践中考虑用boost::multi_array之类的现成的解决方案可能会更有效。
- 在C语言中实现动态分配二维数组
- 在C语言中实现动态分配二维数组
- 如何在C/C++中动态分配二维数组
- 如何在C/C++中动态分配二维数组
- 如何在C/C++中动态分配二维数组
- 如何在C/C++中动态分配二维数组
- 如何在C/C++中动态分配二维数组
- zz 如何在C/C++中动态分配二维数组
- 如何在C/C++中动态分配二维数组
- 如何在C/C++中动态分配二维数组
- 如何在C、C++中动态分配二维数组
- 如何在C/C++中动态分配二维数组
- 如何在C/C++中动态分配二维数组
- 如何在C/C++中动态分配二维数组
- 如何在C/C++中动态分配二维数组
- 如何在C/C++中动态分配二维数组
- 如何在C/C++中动态分配二维数组
- 如何在C/C++中动态分配二维数组
- 获取网络中RSS频道内容
- C语言字符数组
- Single Sign On
- Oracle调优综述前言
- 冒充“超级兔子” 盗号木马突破QQ软键盘密码保护
- 在C++中动态分配二维数组
- 转一个存储过程初级教程,有空可以看一下!
- .net 学习资源
- 成功的21个信念
- Windows程序调试系列: 使用VC++生成调试信息
- C++中extern “C”含义深层探索
- 如何访问一个文件的创建、修改时间、文件属性
- OCP题
- 如何判断IE窗口关闭和让IE6.0右上角的“关闭”按钮失效