从零开始--为面试做准备,代码篇(一)
2014-01-24 15:13
211 查看
开通了新的博客,写下自己的小白历程 2014.1.21起。都是在A题过程中所遇到的困难,记录下解决方式。
1,While(cin)会进行无限循环,估计和构造函数有关,而改为while(cin) cin>>n;则正常输入,这里while(cin)和while(1)都可表示无限循环,然而,while(cin)有可能被错误输入终止,例如n是int型的,而输入一个char则输入终止。
2,如何用new开二维数组:定义二维数组array[i][j]
(1)定义一维代替
char *array;
array = new char[x*y];
用*(array+i*y+j);来表示array[i][j]
(2)定义一个二维数组
char **array;
array = new char *[x];
for(int i=0;i<x;i++)
array[i] = new char[y];
用array[i][j]直接表示
但是:注意delete
for(i=0;i<x;i++)
delete[] array[i];
delete[] array;
3,error expected constant expression:希望是常量表达式
出现在如果A[M]
中的MN未知,需要运行的时候从cin进来,那么直接定义A[M]
是无法事先分配空间的,用动态分配解决。
3,error C2109: subscript requires array or pointer type 下标需要数组或者指针形式
当定义int *A; A=new int[M*N];后直接使用A[i][j]会出现这样的问题,不可以直接访问,因为它本质上是一个一维数组,改成*(A+i*N+j)进行访问即可。
4,记录运算符重载error C2803: 'operator +' must have at least one formal parameter of class type
两个不能都是C++的标准类型,以防止用户修改用于标准类型数据的运算符性质。重载的运算符必须和用户定义的类型对象一起使用,参数至少应有一个是类对象(或者类对象的引用)
1,While(cin)会进行无限循环,估计和构造函数有关,而改为while(cin) cin>>n;则正常输入,这里while(cin)和while(1)都可表示无限循环,然而,while(cin)有可能被错误输入终止,例如n是int型的,而输入一个char则输入终止。
2,如何用new开二维数组:定义二维数组array[i][j]
(1)定义一维代替
char *array;
array = new char[x*y];
用*(array+i*y+j);来表示array[i][j]
(2)定义一个二维数组
char **array;
array = new char *[x];
for(int i=0;i<x;i++)
array[i] = new char[y];
用array[i][j]直接表示
但是:注意delete
for(i=0;i<x;i++)
delete[] array[i];
delete[] array;
3,error expected constant expression:希望是常量表达式
出现在如果A[M]
中的MN未知,需要运行的时候从cin进来,那么直接定义A[M]
是无法事先分配空间的,用动态分配解决。
3,error C2109: subscript requires array or pointer type 下标需要数组或者指针形式
当定义int *A; A=new int[M*N];后直接使用A[i][j]会出现这样的问题,不可以直接访问,因为它本质上是一个一维数组,改成*(A+i*N+j)进行访问即可。
4,记录运算符重载error C2803: 'operator +' must have at least one formal parameter of class type
两个不能都是C++的标准类型,以防止用户修改用于标准类型数据的运算符性质。重载的运算符必须和用户定义的类型对象一起使用,参数至少应有一个是类对象(或者类对象的引用)
相关文章推荐
- 从零开始——为面试做准备,代码篇(二)
- 从零开始,手把手教会你5分钟用SPARK对PM2.5数据进行分析(包括环境准备和SPARK代码)
- 程序员如何快速准备面试中的算法
- 程序员如何准备面试中的算法
- 面试知识准备:TCP、UDP总结
- Cate:我是如何准备Google面试的
- 对准备面试的一些思考
- 面试笔试整理4:机器学习面试问题准备(进阶)
- 面试准备之String为什么设置为不可变的(小米)
- 如何准备流利的面试英语
- 前端面试校招问题准备(总结)
- 程序员如何快速准备面试中的算法
- c++面试准备之螺旋队列
- 面试准备
- java api 视频面试准备
- lc面试准备:Reverse Bits
- Android开发工程师如何准备面试才能拿高薪offer?
- 代码面试最常用的10大算法
- 如何准备软件工程师的面试
- 关于截取字符串的java笔试(面试)题简化代码实现