1

我的主要问题是:

有没有更好(或更有效)的方法来使用指针声明多维数组?我所做的事情是否在正确的轨道上?

编程练习:

你卖C++ for Fools书。使用二维数组存储 3 年月销售额的输入(以书籍数量而非金钱数量计算)。报告合并年份的总销售额。该程序应该使用一个循环来按月份提示您,使用字符串对象数组,初始化为月份字符串并将输入数据存储在二维数组中。然后,程序应该找到数组内容的总和并报告 3 年的总销售额。

这是我的代码的片段

/* Global constants */
const unsigned int YRS = 3;
const unsigned int MNTHS = 12;

/* Create 2D-Array */
int** bookSalesArrayPtr = new int*[YRS];    // Pointer-to-Array-of-Pointers
for (unsigned int i = 0; i < YRS; ++i)      // Each element of bookSalesArrayPtr
    bookSalesArrayPtr[i] = new int[MNTHS];  // In each element create new array[12]

这是我完整源代码的链接:http: //ideone.com/LcQeuj

4

1 回答 1

-1

任何解决方案都应该尽可能简单。如果不需要指针,请避免使用指针,因为它们会使程序复杂化:

int  bookSales[YRS][MNTHS];

请注意阅读这篇文章是多么容易。注意没有代码来管理分配、销毁或任何其他簿记。

即使这样的结构增加了执行时间(这在这里是极不可能的),考虑一下这节省了多少人力时间(开发人员、维护人员、调试人员、文档)。电脑时间很便宜。人的时间是宝贵的。

在对解决方案进行评级时,通常会忽略人力成本。

于 2012-10-28T22:22:57.460 回答