如何从一个数组(一维二维)中删除一个元素? - 页 6

 
Aliaksandr Hryshyn:
在定义维度方面有问题吗?

这个定义没有问题。在获取不同维度的数组作为函数参数方面存在问题。

 
数组在这里没有超过4个维度。因此,你可以写4个不同的函数,仅此而已。
 
Ilya Malev:

这个定义没有问题。在获取不同维度的数组作为函数参数方面存在问题。

使用类来处理这种事情。将一个具有不同数组的类的实例传递给函数...
 
Dmitry Fedoseev:
数组在这里没有超过4个维度。所以你可以写4个不同的函数,仅此而已。

你完全可以不使用大小大于1的数组,如果你想操作不同字段的东西,你可以使用结构数组或对象列表。我个人在自己写东西时总是这样做。但是在别人的代码中,我也遇到了,我也遇到了多维数组 这样的选项。有趣的部分开始了...

 
Aliaksandr Hryshyn:
使用类来处理这种事情。将一个具有不同数组的类的实例传递给函数...

试着定义一个类,使适用于不同尺寸的数组的函数调用 看起来是一样的。

 
Ilya Malev:

正常的问题,你应该无视主题标题中的括号。不知道元素的数量 - 你可以。如果你不知道维度,你就不可能

让我告诉你一个可怕的秘密。一个数组是一维的。任何种类。我已经告诉你了...

 
Алексей Тарабанов:

我让你知道一个可怕的秘密。该阵列是一维的。任何种类。我已经告诉过你...


Ilya Malev:

这与你的任务(一类任务--通过函数统一处理不同维度的数组)有什么关系?

 
Ilya Malev:

试着定义一个类,使对不同维度的数组的函数调用 看起来相同。

我的意思是,你必须在一个类中定义所需的数组,并将该类的一个实例传递给函数。
 

一个有趣的现象...

当你为你的集合写一个函数时,问题出现了--让它快速工作(不检查)是否更好?

void ArrayDelete(int & a[],int Start,int Count=1){
   ArrayCopy(a,a,Start,Start+Count);
   ArrayResize(a,ArraySize(a)-Count);
}

或者有万无一失的保护,这样就可以检查和调整合理的参数?在这里你可以看到,快速版不值得收藏,因为它很容易写,而且作用不大。而带有所有检查的变体只适合作为博物馆的展品,因为你不需要不必要的刹车。而这就是为什么你根本不需要它。

 
Aliaksandr Hryshyn:
我的意思是,所需的数组应该被定义在一个类中,这个类的实例应该被传递给一个函数。

如果我们这样看问题,那么就根本不应该声明多维 数组--应该使用具有不同字段的结构数组来代替。但问题是不同的--我们可以对现有的任意(事先未知)尺寸的阵列做什么?