【发布时间】:2012-11-26 17:00:42
【问题描述】:
我要将一些自定义数据结构转换为 float** 并将它们作为仅处理 float** 的方法的参数传递。
在我的第一个版本中,方法只需要 2 个 float** 作为参数,所以我很容易拥有
MyClass::MyMethod(float** data1, float** data2){}
在第二个版本中,我想提供一个 float** 列表,其长度从一次执行到下一次执行不等。
我只有float***作为解决方案,一点都不好。
MyMethod 是 C 风格的,我不想要任何矢量等...
其他想法?
谢谢
【问题讨论】:
-
不使用标准库,用C++有什么意义?
-
如果您想要一个包含
float**的动态数组,您将成为a three star programmer 并使用float***。我建议重新考虑您的 API 或避免使用 C++ 为您提供的工具。 -
@Cornstalks 告诉其他 200 人在该项目中以这种方式工作
-
@antitrust:我很乐意 :) 但实际上,正如我所说,如果你想要一个包含
float**的动态数组,你真的必须使用float***。拥有float**的动态数组的唯一另一种选择是使用某种容器(如vector)(它只是隐藏了float***-ness),但显然这不是一个选项。 -
我无法相信 C++ 项目中的 200 人会喜欢
float***而不是更高级别的容器...你在 C中工作吗>? (我也有点好笑,200 个人在同一个项目中工作,改变一个功能界面会影响所有这些用户,如果是这样的话,简化界面就更有优势了......你确定你的真正要求是什么?)
标签: c++ c arrays list arguments