已采纳回答 / onemoo
这个课程似乎就是讲这个的呀! 没有讲吗?左侧函数:参数a和b都是指针类型。变量前加上&,代表“取地址”,得到的是指针类型,这样传参数,a和b分别是指向x和y的指针。用指针是因为:如果声明为普通的int参数,那么在调用函数时,a和b会获得x和y的值,函数中a和b的值会互换,但不会影响到外面的x和y。 而通过指针就可以间接修改外面的x和y了右侧函数:a和b都声明为引用了。那么在调用时,函数中的a和b分别就是传入的x和y的引用。引用有点像“别名”的意思,对引用操作就相当于对原变量操作。
2015-09-23
已采纳回答 / onemoo
你是可以通过指针来修改其所指的对象的。 所以如果允许p指向const int对象,就意味着你可以通过p来修改a,显然这是不合理的。故语法要求const对象只能被“指向const对象的指针”所指。将p声明为 const int *p; 就没有问题了,这个p是指向const对象的。
2015-09-14
已采纳回答 / onemoo
C++的<fstream>头文件中有 fstream ifstream ofstream 可以操作文件,具体用法请搜索。上楼说的fopen fread fwrite是C风格的IO库函数,包含在C++的<cstdio>头文件中。
2015-07-17
已采纳回答 / onemoo
const int const *p 这样声明是错的,这两个const都是修饰int的,所以重复了。应该写成 const int *p 或 int const *p,这两种写法是一样的,都是将p声明为指向const int的指针。我猜你想比较的是 const int * const p。这样是将p声明为指向const int的const指针,就是说p本身也是const的。
2015-07-15