【C++ grammar】引用

1、引用就是另一個變量的別名

2、通過引用所做的讀寫操作實際上是作用與原變量上
引用方式:

int x;
int & rx=x;
or
int x, &rx=x;

在C中&是取地址,在C++中&放在一個變量的定義前,那就是引用

注意:
這種引用是錯誤的,被引用變量必須先定義
TIP:
C++指針與引用符號應該靠近其類型而非名字
如:

float* x;		//not: float *x;
int& y;			//not: int &y;,這個地方有語法錯誤,因為應用必須依附于一個對象

引用作為函數參數:

引用可做函數參數,但調用時只需要傳普通變量即可。

在被調函數中改變引用變量的值,則改變的是實參的值
在這里插入圖片描述

int main()
{int x = 0;int y{ 10 };int& rx = x;rx = 8;cout << x << endl;return 0;
}

輸出結果:8

int main()
{int x = 0;int y{ 10 };int& rx = x;rx = 8;const char* s = "Hello";const char* t = "World";const char*& r = s;     //r引用的是scout << r << endl;return 0;
}

輸出:Hello

當一個引用變量綁定了一個變量,它的引用變量的關系就不能改變了

int main()
{int x = 0;int y{ 10 };int& rx = x;rx = 8;const char* s = "Hello";const char* t = "World";const char*& r = s;     //r引用的是s,當一個引用變量綁定了一個變量,它的引用變量的關系就不能改變了r = t;      //s=t;      將World變量的首地址放到變量r里面cout << r << endl;cout << s << endl;return 0;
}

在這里插入圖片描述
記住:

當我們對引用對象進行操作的時候,實際上就是對引用所綁定的對象進行賦值。

引用本身存放的是引用對象的地址 。

另外: 遇到 & 運算符時,怎樣才能判斷它是哪個含義呢

  1. 位與
  2. 取地址
  3. 定義一個引用類型

靠著右邊取地址(&x),靠著左邊是引用(int&),掛在中間與運算(a & b)

更深層次的含義以及測試手段見:
https://www.cnblogs.com/KaiMing-Prince/p/9741393.html
https://app.yinxiang.com/fx/c1155235-33c5-4d6b-9576-1f1d374c9f29

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/378162.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/378162.shtml
英文地址,請注明出處:http://en.pswp.cn/news/378162.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

網絡安全 攻擊類型_網絡攻擊的類型| 網絡安全

網絡安全 攻擊類型Nowadays Cyber Security is an essential part of our life. We are store, secure and use data and security is important to prevent to steal data. There are numbers of attacks done by the attackers for ex: Man in middle attacks, Brute force, …

flash安全策略的理解

flash安全策略的理解 2011-06-25 01:48 11人閱讀 評論(0) 收藏 舉報 一直以來對flash的安全策略是一頭霧水&#xff0c;什么安全沙箱&#xff0c;跨域策略文件一堆東西亂七八糟&#xff0c;搞不清楚。不過糾結到現在已經基本上理解了。 flash的安全問題在官方手冊上有足夠的解…

【C++ grammar】nullptr and Dynamic Memory Allocation (空指針和動態內存分配)

空指針 1.1. 0帶來的二義性問題 C03中&#xff0c;空指針使用“0”來表示。0既是一個常量整數&#xff0c;也是一個常量空指針。C語言中&#xff0c;空指針使用(void *)0來表示有時候&#xff0c;用“NULL”來表示空指針(一種可能的實現方式是#define NULL 0) 1.2. C標準化委…

yum update Transaction Check Error

update系統時&#xff0c;發現其中一臺server居然提示&#xff1a; Transaction Check Error:file /usr/lib/perl5/5.8.8/CGI.pm from install of perl-5.8.8-32.el5_7.6.x86_64 conflicts with file from package perl-5.8.8-32.el5_6.3.i386file /usr/lib/perl5/5.8.8/Digest…

No module named ‘skimage.metrics‘在Anaconda3中的解決方法

1&#xff0c;進入Anaconda Prompt 2&#xff0c;進行安裝&#xff1a; pip install scikit-image 3&#xff0c;若還是報錯&#xff0c;嘗試進行更新一下 pip install scikit-image --upgrade

array_push_PHP array_push()函數與示例

array_pushPHP array_push()函數 (PHP array_push() function) array_push() function is used to insert/push one or more than one element to the array. array_push()函數用于將一個或多個元素插入/推入數組。 Syntax: 句法&#xff1a; array_push(array, elemement1, …

html5的canvas元素使用,HTML5canvas元素概念及使用方法介紹

一. canvas簡介??canvas是html5新增的元素&#xff0c;主要用于圖形的繪制。canvas本身沒有繪圖能力&#xff0c;一切都是通過javascript來完成的。二. canvas使用在html中添加canvas元素&#xff0c;定義canvas元素的高寬在javascript代碼中獲取canvas元素對象var canvas d…

Delphi XE2 之 FireMonkey 入門(10) - 常用結構 TPoint、TPointF、TSmallPoint、TSize、TRect、TRectF 及相關方法...

它們都是結構, TPointF、TRectF 屬新增, 其它也都有升級; 現在都擁有豐富的方法和方便的運算符重載; 且有一組相關的公共函數.這組內容重要的是它們都來自 System.Types 單元, 也就是不僅僅在 FM 中可用. TPoint: Create(); // {運算符重載} Equal; // NotEqual;…

【C++ grammar】數據類型轉換、列表初始化

布爾類型 C語言在其標準化過程中引入了bool、true和false關鍵字&#xff0c;增加了原生數據類型來支持布爾數據。 布爾類型的大小&#xff08;所占的存儲空間&#xff09;依賴于具體的編譯器實現。也可以用 sizeof運算符得到其占用的空間 Conversion between bool and int 0…

Python對自定義離散點進行指定多項式函數擬合

自定義離散點進行指定多項式函數擬合 用戶自己自己輸入坐標點&#xff0c;擬合函數可根據用戶輸入的多項式的最高次方進行自動擬合函數&#xff0c;擬合方法采用最小二乘法進行函數擬合。 (1,2),(2,5),(3,10),(4,17),(5,26),(6,37)(7,50),(8,65),(9,82) 很顯然是函數為二次函…

選哪個云計算平臺部署自己的網站?

技術發展讓我們可以擁有免費的空間啦&#xff01; 現在的云計算平臺很多&#xff0c;各大公司都在做這個。 我最近用了國內訪問比較順暢的&#xff0c;新浪SAE&#xff0c;cloudfoundry&#xff0c;openshift。 開始用新浪SAE&#xff0c;因為豆子花光了&#xff0c;就轉到clou…

array_fill_PHP array_fill()函數與示例

array_fillPHP array_fill()函數 (PHP array_fill() Function) array_fill() function is used to fill the n elements in an array from given index with the specific value. array_fill()函數用于使用給定索引從給定索引中填充數組中的n個元素。 Syntax: 句法&#xff1a…

阜陽市計算機學校助學金申請書,計算機系貧困生助學金申請書

尊敬的學校領導&#xff1a;您好&#xff01;我叫____來自計算機系____級____專業____班,我是一名喜愛讀書、熱愛集體并且性格溫和的男孩。我出生在一個貧窮而又落后的小村。家中有五口人&#xff0c;父母文化淺薄,在家務農,由于多年的勞累,父母兩人身體狀況較差,農業收入低微,…

【C++ grammar】C++簡化內存模型

1、stack&#xff08;棧&#xff09; 編譯器自動分配內存&#xff08;函數內部定義得局部變量、形參&#xff09; 2、堆&#xff08;Heap&#xff09; 一般由程序員分配釋放&#xff0c;若程序員不釋放&#xff0c;程序結束時可能由OS回收&#xff08;new和delete&#xff09; …

Effect of Diethylene Glycol on the Inkjet Printability of Reactive Dye Solution for Cotton Fabrics.

Effect of Diethylene Glycol on the Inkjet Printability of Reactive Dye Solution for Cotton Fabrics 二乙二醇對棉織物活性染料溶液噴墨印刷性能的影響 Diethylene Glycol 二乙二醇 Inkjet Printability 噴墨印刷性能 Reactive Dye Solution 活性染料溶液 Cotton Fabric…

一些常用的工具

可查看網站服務器使用的架構 http://toolbar.netcraft.com/site_report?urlwww.163.com 可在線制作 icon 圖標 http://www.damotou.com/index.php 好的UI設計 http://www.uiimg.com/ 轉載于:https://www.cnblogs.com/ouuy/p/3183613.html

Silverlight4.0教程之使用CompositeTransform復合變形特效實現倒影

微軟于PDC2009上發布Silverlight 4 Beta版&#xff0c;微軟在Silverlight 4版本中處理了約8000個的Silverlight終端用戶的請求&#xff0c;加入了一系列另開發人員興奮的新特性&#xff0c;最突出的主要體現在幾個方面&#xff1a; 開發工具增強&#xff1a;Visual Studio 2010…

julia矩陣運算_Julia中的復數及其運算

julia矩陣運算Julia| 復數 (Julia | Complex Numbers) The syntax to represent the complex number in Julia is: 在Julia中表示復數的語法為&#xff1a; Syntax: 句法&#xff1a; ABimHere, A and B are the values, and im is the global constant which is bound to th…

2019年的wps計算機考試題,2019年3月計算機一級WPS模擬題及答案(2.21)

【導語】2019年3月計算機一級考試備考正在進行中&#xff0c;為了方便考生及時有效的備考&#xff0c;那么&#xff0c;無憂考網為您精心整理了2019年3月計算機一級WPS模擬題及答案(2.21)&#xff0c;把握機會抓緊練習吧。如想獲取更多計算機一級考試模擬題及備考資料&#xff…

Python求解多項式方程

例如&#xff1a;二次函數&#xff1a;f(x) 10x^2 - 14x 22&#xff0c;依次求解x1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5&#xff0c;6時函數表達式所對應的函數值。 import numpy as np #f(x) 10*x^2 - 14x 22 p np.array([10,-14,22])#這里存放的是系…