3. 数组

1.

如果需要某种数组,特别是作为函数的形参的时候,最好使用typedef将数组类型和名字关联起来,如:

const int CAPACITY = 10;
typedef int IntegerArray[CAPACITY];

定义 IntergerArray 为具有10个 int 的数组的同义词。接着我们可以:

IntegerArray a,
             b = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9},
             c = {0};
====================================================================================================================================

2.
数组不是对象,一个对象应该是自我包含的。
这就是说:这个对象应该在自身中包含所有描述它一级在其上进行运算时所需的信息。而数组不能包含有关自己容量的信息也没有有关当前存储了多少个值的信息。
所以数组需要两个甚至三个参数。
====================================================================================================================================


3.
在程序执行时不能改变数组的容量。
====================================================================================================================================


4. 看待一个多维数组的方法是将它看成 数组的数组

数组的数组的声明
const int NUM_SCORES = 5;
typedef double ScoreList[NUM_SCORES];
这样,ScoreList就是一个一维数组。
const int NUM_ROWS = 30;
typedef ScoreList TwoDimScoreTable[NUM_ROWS];
这样,TwoDimScoreTable就是一个数组ScoreList的数组。
====================================================================================================================================

5. 
//void display (int shuzu[][], int row. int clolumn); 不正确
尽管第一个方括号可以空着但是其他方括号必须包含一个常量来给出列数,如:
const int NUM_STUDENT = 3,
          NUM_TEST = 5;

void display (int shuszu[][NUM_TESTs, int row, int column];)

int main()
{
   double scoreTable [NUM_STUDENTS] [NUM_TESTS];

   display (scoreTable, numStudents, numTests);
}

====================================================================================================================================

6. 
new(nothrow) Type
new(nothrow) Type[capacity] 

这种形式使用了一个不会抛出异常而是不能分配内存时返回一个空地址的new

====================================================================================================================================

7.
delete intPtr;
intPtr = nullptr;
if (intPtr != 0)
  //ok
else 
  // not ok
====================================================================================================================================
8. 对数组得使用
delete [] arrayPtr;




====================================================================================================================================
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值