c++ - 将指针转换为多维数组
问题描述
如何将指针转换为多维数组?
例如float*
到float[][100][100]
?
float* f1(); // returns allocated memory (with data), suitable for processing by f2
void f2(float in[][100][100]);
float* p = f1();
f2( ???CAST??? p);
解决方案
reinterpret_cast
虽然这样做通常很危险,但如果您真的想这样做,您可以使用:
f2( reinterpret_cast<float(*)[100][100]> (p) );
推荐阅读
- angular - 我可以在 Angular 中使用反应形式,输入字段在存储和填充时比其他输入字段单独处理吗?
- c - 不完整的类型是不允许的,但我找不到原因。请帮助我<3
- windows - 使用 windows cmd.exe 显示存储在变量中的第一个和最后一个字符串条目
- amazon-web-services - 表格不安全
- android-layout - 有没有办法在 Android 中设置动态动画(春季动画)的启动延迟?
- java - 尝试在 Eclipse 中使用 mdk 在 forge 1.12 上进行开发。仅基础导入项目出错
- vba - Word 宏在传输时消失
- python - 如何使用 add_argument() 正确指定 webdriver 路径?
- kubernetes - 如何为命名空间中的所有服务帐户赋予相同的集群角色?
- excel - 如何在 Excel 中使用 VBA 自动填充“x”行数