使用大括号在C ++中重新初始化数组

时间:2013-12-15 07:17:55

标签: c++ arrays c++11 list-initialization

我遇到的情况是,不断创建新变量并不是一个好选择,因为我想避免为每个对象实例创建一个新数组。本质上,我有一个'point'类和一个'polygon'类,其构造函数采用点向量。由于每个点都必须手动和单独设置,因为它们之间并没有真正的数学进展,我提出的最保守的解决方案是使用我发现的'MakeVector'函数,转换直向阵列到矢量。

即,为了创建一个多边形,我得到了这个:

point ps[]={point(-1,-1,-1),point(1,-1,-1),point(1,1,-1),point(-1,1,-1)};
polygon p1(MakeVector(ps));

尽管这个特定的坐标系有一个数学进展,但并非所有人都这样做,因为我正在做一些3D建模。以下行无效并抛出错误:

ps=new point[]{point(-1,-1,1),point(1,-1,1),point(1,1,1),point(-1,1,1)};

ps={point(-1,-1,1),point(1,-1,1),point(1,1,1),point(-1,1,1)};

我尝试了一些不同的东西,但我没有真正的方法来快速完成这项工作。我宁愿不必为我制作的数组中的每个值添加一个新行。使用硬编码值的最佳方法是什么?

0 个答案:

没有答案