C++箭头操作符 C++中,箭头操作符“->”怎样使用?

C++\u4e2d\uff0c\u7bad\u5934\u64cd\u4f5c\u7b26\u201c

printf( "%d, %d, %d.\n", p->a, p->b, ++p->c );\u8fd9\u53e5\u6539\u6210
printf( "%d, %d, %d.\n", p->a, p->b, (++p)->c );

\u56e0\u4e3a->\u6bd4\u524d\u7f00++\u4f18\u5148\u7ea7\u9ad8\uff0c++\u7684\u5bf9\u8c61\u662fp->c\u4e5f\u5c31\u662f3\uff0c\u800c\u4e0d\u662fp\u6307\u9488\u3002

\u7bad\u5934\u64cd\u4f5c\u7b26\u201c->\u201d\u7528\u6765\u5f15\u7528\u6307\u9488\u5bf9\u8c61\u3002\u8fd9\u662f\u662f\u7528\u4e8e\u7c7b\uff0c\u6216\u8005\u662f\u7ed3\u6784\u4f53\u7684\u6307\u9488\u53d8\u91cf\u7528\u7684\u3002 \u5982struct Point {int x,y;};Point *pt=new Point;pt->x=1;
\u4e3e\u4f8b\u5b50\u8bf4\u660e\u4e00\u4e0b\uff1a\u6bd4\u5982\uff0c\u6211\u6709\u4e00\u4e2a\u5bf9\u8c61darkray\u3002\u90a3\u4e48\u6211\u53ef\u4ee5\u901a\u8fc7\u201d.\u201d\u6765\u8c03\u7528darkray\u7c7b\u4e2d\u4e2d\u7684\u6210\u5458\u53d8\u91cf\u3002\u4f46\u662f\u5982\u679cdarkray\u662f\u6307\u9488\u7684\u8bdd\uff0c\u5c31\u4e0d\u80fd\u901a\u8fc7\u201d.\u201d\u6765\u8c03\u7528\uff0c\u800c\u53ea\u80fd\u4f7f\u7528\u201d->\u201d\u6765\u8c03\u7528\u4e86\u3002\u653e\u5230C\u8bed\u8a00\u4e2d\u4e0d\u5b58\u5728\u5bf9\u8c61\u7684\u6982\u5ff5\u7684\u3002\u70b9\u64cd\u4f5c\u7b26\u7528\u5f97\u5230\u7684\u5730\u65b9\uff0c\u5927\u591a\u5728\u7ed3\u6784\uff0c\u6bd4\u5982\uff1astruct darkray{float coder;int geek;};\u5728\u7a0b\u5e8f\u4e2ddarkray fuckyou={2.3,350};
\u5c31\u53ef\u4ee5\u7528fuckyou.coder\u6765\u53d6\u5f97\u7ed3\u6784\u4e2d\u7684\u503c\u3002\u8fd9\u65f6\u662f\u4e0d\u80fd\u4f7f\u7528\u201d->\u201d\u6765\u8c03\u7528\u7684\uff0c\u201d->\u201d\u7b26\u53f7\u6307\u9488\u5bf9\u6307\u9488\u6765\u8bf4\u7684\u3002\u53ea\u6709\u5728\u5982\u4e0b\u60c5\u51b5\u53ef\u4ee5\u4f7f\u7528\u201d->\u201ddarkray* fuckme;fuckme->coder=2.33;\u6b64\u65f6fuckme\u4e3a\u4e00\u4e2adarkray\u7ed3\u6784\u7684\u5730\u5740\u6307\u9488\u3002\u6240\u4ee5\u53ef\u4ee5\u4f7f\u7528\u201d->\u201d,\u800c\u6b64\u65f6\u5c31\u4e0d\u80fd\u4f7f\u7528\u201c.\u201d\u6765\u64cd\u4f5c\u3002\u56e0\u4e3a\u201d.\u201d \u201c\u76f8\u5f53\u4e8e\u201d\u5bf9\u8c61\u7684\u6210\u5458\u8c03\u7528\u3002

箭头操作符是结构体 或者 对象 指针用来访问其对象 或者 对象成员时用的符号比如struct aaa{int a,int b;};class bb{int a;int b';void test()};当我们定义一个结构体变量的时候比如 aaa t; bb t;往往是通过.符号来获得或者访问其中的成员变量 或者函数如 t.a t.b t.test()但是 如果我们定义的是一个结构体指针aaa *t;bb *t那么就需要用箭头符号来访问了t->a t->b t->test()这么讲你明白了吗

  • c 鐨绠ご鏄粈涔堟剰鎬
    绛旓細鈥C鐨绠ご鈥濋氬父鏄寚C璇█涓殑鈥滅澶磋繍绠楃鈥濓紙->锛夈傜澶寸殑浣滅敤鏄敤浜庤闂粨鏋勪綋鎴栬仈鍚堜綋鍙橀噺涓殑鎴愬憳锛岃繖涔熻绉颁綔缁撴瀯浣撴垨鑱斿悎浣撶殑鎴愬憳璁块棶绗銆傜澶磋繍绠楃鐩稿綋浜庡彇鍦板潃绗﹀拰鐐硅繍绠楃鐨勭粨鍚堬紝瀹冨彲浠ョ粫杩囨寚閽堣繘琛岀粨鏋勪綋鎴栬仈鍚堜綋鎴愬憳鐨勮闂紝鎻愰珮浜嗙▼搴忕殑鏁堢巼鍜屽彲璇绘с侰鐨勭澶村湪绋嬪簭璁捐涓捣鐫閲嶈鐨勪綔...
  • C璇█缂栧啓绋嬪簭鏃绠ご鎬庝箞杈撳叆???
    绛旓細C璇█涓娇鐢ㄧ殑绠ご绗鍙蜂负->銆傝鎿嶄綔绗骞堕潪鏄竴涓鍙凤紝鑰屾槸鐢卞噺鍙(-)鍜屽ぇ浜庡彿(>)鍏卞悓缁勬垚鐨勩傛墍浠ュ湪鎵->鏃讹紝闇瑕佸厛鎵-,浣嶄簬閿洏鍙充笂瑙掞紝0鍜=涔嬮棿锛岀洿鎺ョ偣鍑诲嵆鍙傜劧鍚庡啀杈撳叆>鍙凤紝鍦ㄩ敭鐩樺彸涓嬭锛屽彸shift宸﹁竟锛岄楀彿鍜屾枩绾/涔嬮棿锛屼笌鍙ュ彿鍦ㄥ悓涓涓寜閿笂锛岃緭鍏ユ椂闇瑕佹寜shift鍚屾椂鎸夎閿->浣滅敤涓猴紝...
  • C璇█鍜孋++涓殑::鍜->鏄粈涔堟剰鎬?
    绛旓細::鏄綔鐢ㄥ煙鎿嶄綔绗︼紝琛ㄧず浣犲紩鐢ㄧ殑鍙橀噺闄愬畾鍦ㄨ浣滅敤鍩熷唴銆->鏄绠ご鎿嶄綔绗锛岃璁″畠鐨勭洰鐨勬槸涓轰簡绠鍖栬緭鍏ワ紝浠ュ強澧炲己绋嬪簭鐨勫彲璇绘х殑 ->鐨勫姛鑳界浉褰撲簬瑙e紩鐢ㄦ搷浣滅*鍜屾垚鍛樿皟鐢ㄦ搷浣滅.鐨勭粍鍚堜綋 渚嬪锛歝lass C { static int a;} 璁块棶a灏卞彲浠ヤ娇鐢–::a鏉ヨ闂紝琛ㄦ槑杩欎釜鍙橀噺a鍏锋湁绫籆鐨勪綔鐢ㄥ煙銆傚畠鍦ㄨ绫诲唴...
  • C璇█杩愮畻绗涓绠ご鏄粈涔堟剰鎬濆晩
    绛旓細->鍦C璇█涓紝鍙仛鎸囧悜缁撴瀯浣撴垚鍛樿繍绠楃锛岀敤澶勬槸浣跨敤涓涓寚鍚戠粨鏋勪綋鎴栧璞$殑鎸囬拡璁块棶鍏跺唴鎴愬憳銆備竴涓寚閽堝綋鐢ㄦ潵鎸囧悜涓涓粨鏋勪綋銆佸璞℃椂锛岀О涔嬩负缁撴瀯浣撴寚閽堟垨瀵硅薄鎸囬拡銆傜粨鏋勪綋鎸囬拡鎴栧璞℃寚閽堜腑鐨勫兼槸鎵鎸囧悜鐨勭粨鏋勪綋鎴栧璞$殑棣栧湴鍧銆傞氳繃缁撴瀯浣撴寚閽堟垨瀵硅薄鎸囬拡鍗冲彲璁块棶璇ョ粨鏋勪綋鎴栧璞°傛寚鍚戠粨鏋勪綋鎴愬憳杩愮畻绗...
  • 鍒╃敤c璇█瀹炵幇缂栫▼ 鐢讳竴涓绠ご
    绛旓細C璇█涓娇鐢ㄧ殑绠ご绗鍙蜂负->銆傝鎿嶄綔绗骞堕潪鏄竴涓鍙凤紝鑰屾槸鐢卞噺鍙(-)鍜屽ぇ浜庡彿(>)鍏卞悓缁勬垚鐨勩傛墍浠ュ湪鎵->鏃讹紝闇瑕佸厛鎵-,浣嶄簬閿洏鍙充笂瑙掞紝0鍜=涔嬮棿锛岀洿鎺ョ偣鍑诲嵆鍙傜劧鍚庡啀杈撳叆>鍙凤紝鍦ㄩ敭鐩樺彸涓嬭锛屽彸shift宸﹁竟锛岄楀彿鍜屾枩绾/涔嬮棿锛屼笌鍙ュ彿鍦ㄥ悓涓涓寜閿笂锛岃緭鍏ユ椂闇瑕佹寜shift鍚屾椂鎸夎閿->浣滅敤涓猴紝...
  • C++绠ご鎿嶄綔绗
    绛旓細绠ご鎿嶄綔绗鏄粨鏋勪綋 鎴栬 瀵硅薄 鎸囬拡鐢ㄦ潵璁块棶鍏跺璞 鎴栬 瀵硅薄鎴愬憳鏃剁敤鐨勭鍙锋瘮濡俿truct aaa{int a,int b;};class bb{int a;int b';void test()};褰撴垜浠畾涔変竴涓粨鏋勪綋鍙橀噺鐨勬椂鍊欐瘮濡 aaa t; bb t;寰寰鏄氳繃.绗﹀彿鏉ヨ幏寰楁垨鑰呰闂叾涓殑鎴愬憳鍙橀噺 鎴栬呭嚱鏁板 t.a t.b t.test()浣嗘槸 濡傛灉...
  • C++涓,绠ご鎿嶄綔绗鈥->鈥濇庢牱浣跨敤?
    绛旓細绠ご鎿嶄綔绗鈥->鈥濈敤鏉ュ紩鐢ㄦ寚閽堝璞°傝繖鏄槸鐢ㄤ簬绫伙紝鎴栬呮槸缁撴瀯浣撶殑鎸囬拡鍙橀噺鐢ㄧ殑銆 濡俿truct Point {int x,y;};Point *pt=new Point;pt->x=1;涓句緥瀛愯鏄庝竴涓嬶細姣斿锛屾垜鏈変竴涓璞arkray銆傞偅涔堟垜鍙互閫氳繃鈥.鈥濇潵璋冪敤darkray绫讳腑涓殑鎴愬憳鍙橀噺銆備絾鏄鏋渄arkray鏄寚閽堢殑璇濓紝灏变笉鑳介氳繃鈥.鈥濇潵...
  • ...>lchild鈥欎腑鐨勨->鈥欐槸浠涔,鏄C璇█鐨勪竴涓鎿嶄綔绗鍚?鏁翠釜璇ユ庝箞鐞嗚В...
    绛旓細->鏄绠ご鎿嶄綔绗 T->lchild 涓 (*T).lchild 绛夋晥 鐢ㄥ悗涓绉嶆柟寮忥紝瀹规槗蹇樿鍦嗘嫭鍙疯岄犳垚閿欒锛屾墍浠ュ氨瀹氫箟浜 -> 鎿嶄綔绗︺
  • 绠ご鎿嶄綔绗(arrow operator)鐨勫畾涔変互鍙婄敤娉
    绛旓細鏄->鎿嶄綔绗锛屼綔鐢ㄧ浉褰撲簬.鎿嶄綔绗︼紝瀵圭粨鏋勪綋鎸囬拡閫傜敤 绛変环浜 (*鎸囬拡).鎴愬憳 include <stdio.h> typedef struct {int x,y;} POINT,*PPOINT;POINT a;int main(){ PPOINT b=&a;a.x=4; // 涓嶈兘鐢 a->x printf("a.x=%d\n",a.x);b->x=5; // 涓嶈兘鐢 b.x printf("a.x=%d\n...
  • cpp涓敤鎸囬拡璁块棶缁撴瀯鎴愬憳涓轰粈涔堝繀椤荤敤绠ご鎿嶄綔绗?(cpp鍩虹)
    绛旓細绗﹀彿.鐨勪紭鍏堢骇姣*楂橈紝浣犵敤*p.name绛変簬鏄*(p.name)鑰宲鏈韩鏄竴涓寚閽堬紝璇ヨ繍绠楀熀鏈病鏈夋剰涔夈傝嫢瑕佺敤杩欎袱涓鍙凤紝闇瑕佺敤(*p).name鏍煎紡锛屽叾瀹->绗﹀彿灏辨槸灏嗚繖涓綔鐢ㄧ缉鍐欑殑銆
  • 扩展阅读:→箭头符号大全 ... 两个箭头一个上一个下 ... 箭头图标大全 ... 手机照片加箭头圆圈软件 ... c++合法标识符 ... c++符号大全 ... c++如何声明标识符 ... c++输入输出 ... c++软件图标 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网