const在前面限制的是指針權(quán)限,只能讀不能寫(xiě),在后面限制指針指向位置只能為當(dāng)前變量。
2018-12-24
這個(gè)A選項(xiàng)的解釋int const a = 3; const int const *p = &a;應(yīng)該是const int *p = &a吧 ?
2018-11-14
最贊回答 / TIMELORD4083146
當(dāng)const已經(jīng)修飾一直變量時(shí),再去用指針去指這個(gè)變量會(huì)很危險(xiǎn),因?yàn)橹羔樋梢愿娜ピ撟兞康闹?,與const就有沖突的風(fēng)險(xiǎn),const int *p=&a和const int * const p=&a是可以的,這樣保證了*p的值不能改變,所以就不會(huì)有與const沖突的可能性。<...code...>
2018-11-12
已采納回答 / 慕設(shè)計(jì)4173655
申請(qǐng)了10個(gè)整型內(nèi)存,就把10個(gè)內(nèi)存空間都釋放掉,用delete[] arr;用delete arr 只是釋放了第一個(gè)空間,還有九個(gè)沒(méi)釋放掉哦。
2018-10-31
#include <string.h>
#include <iostream>
using namespace std;
int main(void)
{
//在堆中申請(qǐng)100個(gè)char類(lèi)型的內(nèi)存
char *str = new char[100];
//拷貝Hello C++字符串到分配的堆中的內(nèi)存中
strcpy(str, "Hello imooc");
//打印字符串
puts(str);
//釋放內(nèi)存
delete[] str;
str=NULL;
return 0;
}
#include <iostream>
using namespace std;
int main(void)
{
//在堆中申請(qǐng)100個(gè)char類(lèi)型的內(nèi)存
char *str = new char[100];
//拷貝Hello C++字符串到分配的堆中的內(nèi)存中
strcpy(str, "Hello imooc");
//打印字符串
puts(str);
//釋放內(nèi)存
delete[] str;
str=NULL;
return 0;
}
已采納回答 / Loading_ling3795574
確實(shí)是錯(cuò)誤用法,C++信奉一個(gè)原則,不管你設(shè)計(jì)的程序是否涉及到錯(cuò)誤方法使用,只要存在錯(cuò)誤,不管用沒(méi)用到,就是錯(cuò)的!我們看你說(shuō)的例子,x是常變量,不可以修改,如果y是指向x的指針,那么*y也不能修改,*y可以看做是x的引用,畢竟引用本質(zhì)就是指針啊,也得是常變量,這點(diǎn)沒(méi)問(wèn)題吧,記住這就是編譯器在上述中得到的信息點(diǎn),接下來(lái)聲明指針y,聲明指針y的時(shí)候到底要不要表明,*y是const,如果表明,沒(méi)問(wèn)題了,這點(diǎn)沒(méi)有疑問(wèn)吧,如果不標(biāo)明呢,這個(gè)語(yǔ)句int *y=&x意味著什么呢?*y可以修改,是變量,這是C++...
2018-10-19
自己試了一下才搞明白,
原來(lái)p是指向的某個(gè)引用的內(nèi)存地址,
而*p代表這個(gè)內(nèi)存地址的值
const *p意思是該值只讀,
const p意思是該地址只讀
所以會(huì)發(fā)現(xiàn)在示例中,老師會(huì)給*p賦一個(gè)int類(lèi)型的值,
而給p賦一個(gè)引用別名
原來(lái)p是指向的某個(gè)引用的內(nèi)存地址,
而*p代表這個(gè)內(nèi)存地址的值
const *p意思是該值只讀,
const p意思是該地址只讀
所以會(huì)發(fā)現(xiàn)在示例中,老師會(huì)給*p賦一個(gè)int類(lèi)型的值,
而給p賦一個(gè)引用別名
2018-10-17
最贊回答 / HeRo_Lxp
你這個(gè)沒(méi)辦法實(shí)現(xiàn)輸出數(shù)組中的最大值? ?輸出的是maxNum和數(shù)組中的數(shù)中的最大值 不過(guò)第一個(gè)還是不用理會(huì)? 這個(gè)判卷系統(tǒng)有點(diǎn)垃圾? ?要取arr[0]和arr[2]才是正確輸出? ?下面是我的代碼? ?作為參...
2018-10-13