cin输入错误注意clear/ 指针表示二维数组形参/ 遍历字符串的一种方法/ delete释放指针时注意/ 函数指针的命名

1.cin输入错误的内容后记得用cin.clear()。
for(i = 0; i < limit; i++)
{
	cin >> temp;
	if(!cin)   //bad input
	{
		cin.clear();
		while(cin.get() != '\n')
			continue;
		cout << "Bad input,input process terminated.\n"
		break;
	}
}
2.用指针表示二维数组

假如有这么一个二维数组int data [3][4] = {{1,2,3,4}, {1,2,3,4}, {1,2,3,4}},现在想在调用函数的形参表里,用指针来表示这个数组,该如何表示呢?
int sum(int (*ar2) [4], int size);当然,也可以直接用int sum(int ar2[][4], int size);
如果用int *ar2[4]这是错误的。因为它表示一个数组,这个数组由四个指向int的指针组成。

3.遍历字符串的一种方法
while(*str)
{
	statements...
	str++;
}

字符串末尾自动添加一个结束标志(这正是字符串与数组的不同之处)“\0”。

4.每次用完指针后记得释放指针
char *ps = buildStr(ch, times);
cout << ps << endl;
delete [] ps;

ps. delete [] ps还是delete ps是有讲究的。一般来说,如果声明的时候是按数组声明的,如char *ps = new char[3];,那就用delete [] ps,否则用另一个。如果对数组用delete ps的话,会导致只调用ps[0]的destructor。

5.函数指针

假如有这样一个函数double pam(int);要想声明一个指向它的函数指针:double (*pf) (int); pf = pam;
是的,就是把函数名(pam)换成一个指针(*pf)。
但是注意,如果写成double *pf (int);,这里指的是一个函数,它的返回值为指向double的指针。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值