-
const(控制變量是否可以變化) const int x=3;(則此時(shí)x為常量,不可進(jìn)行再賦值) const與指針類型 const int *p=NULL; int const *p=NULL;(兩種寫法完全等價(jià)) int *const p=NULL; const int *const p=NULL; int const *const p=NULL;(這兩種寫法也是完全等價(jià)的) int x=3; const int *p=&x; *p=4(錯(cuò)誤,因?yàn)閏onst指定的為*p);p=&y;(正確) int x=3; const int *const p=&x; p=&y(錯(cuò)誤,因?yàn)閏onst指向的為p,只能為x的地址) const與引用 int x=3;const int &y=x; y=10(錯(cuò)誤,y通過const限定只能為x的別名,值為3) 總結(jié): const int x=3;int *y=&x;(這種寫法是錯(cuò)誤的因?yàn)閤本身定義為const,在用一個(gè)可變的指針指向,那么就有用指針改變x值得風(fēng)險(xiǎn),這是系統(tǒng)所不允許的); int x=3; const int *y=&x;(正確,這樣保證了指針對x只有可讀性,而沒有可寫性) const 常量: const int*p=NULL;//建議是這樣寫比較方便直觀 int*const y=&x時(shí),由于const在y跟指針中間所以y如果指向了x就不能再改變了。 int x=3; const int*y=&x;相當(dāng)于以權(quán)限小的接收大,這是可以的。查看全部
-
#include <iostream> using namespace std; int main(void) { int x = 3; //定義引用,y是x的引用 int &y=x; //打印x和y的值 cout<<x<<endl<<y<<endl; //修改y的值 y = 20; //再次打印x和y的值 cout<<x<<endl<<y<<endl; return 0; }查看全部
-
引用不能單獨(dú)存在。引用的用法: A:int a; int &b = a; C:int *p; int *&q = p; D:int a; int &b = a; int &c = a;查看全部
-
函數(shù)引用:交換兩個(gè)數(shù) #include <iostream> using namespace std; void fun(int &a,int &b); int main() { int x=10; int y=20; cout<<x<<","<<y<<endl; fun(x,y); cout<<x<<","<<endl; } void fun(int &a,int &b) { int c=0; c=a; a=b; b=c; }查看全部
-
指針引用 #include <iostream> #include <stdlib.h> using namespace std; int main() { int a=3; int *p=&a; //指針p指向a int *&q=p; //給p取別名q *q=5; cout<<a<<endl; return 0; }查看全部
-
#include <iostream> #include <stdlib.h> using namespace std; typedef struct { int x; int y; }Coord; int main() { Coord c; Coord &c1=c; c1.x=10; c1.y=20; cout<<c.x<<","<<c.y<<endl; return 0; }查看全部
-
引用就是起別名,&a=b;即a是b的別名。 不論改變本身還是別名,等會(huì)影響其存值。 *q = &a;同理 #include <iostream> #include <stdlib.h> using namespace std; int main() { int a=10; int &b=a; b=20; cout<<a<<endl; a=30; cout<<b<<endl; return 0; }查看全部
-
引用作為函數(shù)參數(shù):實(shí)現(xiàn)交換兩個(gè)數(shù)查看全部
-
指針類型的引用:類型 *&指針引用名=指針;對別名的操作就是對原變量的操作查看全部
-
結(jié)構(gòu)體類型的引用查看全部
-
引用就是指變量的一個(gè)別名(不能只有別名) 引用必須初始化。 int a=3; int &b=a;(為a起個(gè)別名b,也是將別名b初始化為a) b=10;(對別名做任何操作都是對其本身做操作) 結(jié)構(gòu)體類型的相關(guān)引用 struct Coor{ int x,y; } Coor c1; Coor &c=c1; c.x=10; c.y=20; 指針類型的引用:類型*&指針引用名=指針; int a=10; int *p=&a; int *&q=p; *q=20;(則a的值為20) 引用做函數(shù)參數(shù) void fun(int &a,int &b) { } fun(x,y)將x,y分別起別名,接下來在函數(shù)體中直接用別名來操作 變量引用,結(jié)構(gòu)體引用,指針類型引用。 int *p = &a; int *&q = p; *q = 20; 引用作函數(shù)參數(shù).查看全部
-
指針和引用,const, 函數(shù)默認(rèn)值&函數(shù)重載。內(nèi)存管理?。?! C++離崗篇:引用vs指針、define VS const、 函數(shù)默認(rèn)值&函數(shù)重載、內(nèi)存管理查看全部
-
const此時(shí)指向的是x的別名y,y不能修改,x不受限【const與引用】查看全部
-
const此時(shí)指向的是*p,*p不能再進(jìn)行賦值操作;但是p不受限【const與指針類型】查看全部
-
這樣才等同查看全部
舉報(bào)
0/150
提交
取消