已采纳回答 / bbug
因为源代码中建立Map的时候是以纵方向为X轴,横方向为Y轴的,也就是二位数组中第一个数代表第几行,第二个数代表第几列。第一个if语句段是检查左右两边是否到达边界( 在如果人在地图中达到边界,即旁边没有墙,所以这是一个门),左右达到边界即检查二维数组的第二个数是否为边界值(最大或者最小)。第一个if语句段中,老师使用的是mazeX作为变量,mazeX是positionX传入的,positionX是人的横坐标,依旧是y轴左边。所以并不是老师把xy反过来放,而是老师写的时候对于xy的是横还是纵因为某种原因在写M...
2016-03-16
已采纳回答 / qq_渴望六维空间_0
Coordinate *pCoor=&coor1是定义一个指针pCoor指向对象coor1,Coordinate *pCoor=coor1是定义一个指针pCoor,并赋初值为指针coor1的值这两句话上边coor1是一个对象,下边coor1是一个指针,<...图片...>视频里...
2016-03-08
已采纳回答 / 谷雷_Pro_V1
这样创建出来的就是常指针。这样做指针指向的新的Coordinate对象。教程中的代码是创建了常指针并指向原来申请的Coordinate对象coor。
2016-03-03
已采纳回答 / 笑侃
这个事情五个字我反正是说不清。.作为一个运算符,两个运算对象分别为变量和变量,->则是地址和对象。所以你要写*p.coor或者p->coor。因为p是一个指针,指针的值是一个地址,然而*p就是p指向的那个变量。
2016-02-20
已采纳回答 / 慕前端4039174
如果没有自定义析构函数,系统会自动生成一个默认的析构函数,在删除对象时运行。它并不是没有运行,你是在栈上定义的对象,所以在整段程序结束时系统再会调用析构函数,你只是没有看到而已(此时程序还没运行完),如果用在堆上定义,在释放内存时会看到调用的。
2016-02-03
已采纳回答 / 张土土
1、Array arr1 当实例化一个arr1的时候,因为有Array Array::printInfo()存在,系统会创建一个Array类的隐形变量,我们姑且用arr2来表示隐形变量,这时arr1和arr2指向的是不同的地址,有点类似于windows的复制操作。 系统执行arr1.printInfo( return * this)的时候,其实相当于arr1.printInfo( &arr2=*this; return arr2; ),所以arr1.printInfo().setlen(5)就是a...
2016-01-07