c++初級-2-引用

文章目錄

  • 引用
    • 一、引用的定義
    • 二、引用做函數參數
    • 三、引用作為返回對象
    • 四、引用的本質
    • 五、常量引用

引用

即給一個變量起別名。

一、引用的定義

	int a = 10;//引用int& b = a;cout << "a = " << a << endl;cout << "b = " << b << endl;b = 20;cout << "修改后" << endl;cout << "a = " << a << endl;cout << "b = " << b << endl;
/***
輸出結果:a = 10
b = 10
修改后
a = 20
b = 20
**/

引用要求

  • 引用必須初始化。
  • 引用之后,不可以更改引用的對象。

二、引用做函數參數

使用形參修飾實參。

#include<iostream>using namespace std;void m_swap(int& a, int& b)
{int temp = a;a = b;b = temp;}int main()
{//int a = 10;//int& b = a;int a = 10;int b = 20;cout << "a = " << a << endl;cout << "b = " << b << endl;m_swap(a, b);cout << "交換后" << endl;cout << "a = " << a << endl;cout << "b = " << b << endl;return 0;
}/***
輸出結果;a = 10
b = 20
交換后
a = 20
b = 10
***/

三、引用作為返回對象

  • 不可以返回局部變量的引用。
int& add(int& a,int b)
{int sum = a + b;//錯誤行為return sum;//正確行為return  a;
}
  • 可以作為左值
add() = 20;

四、引用的本質

引用的本質是指針常量,當使用引用時,編譯器會把它轉換成指針常量。

五、常量引用

void print(const int& a)
{//使用const后,不能對a進行改修。cout << a << endl;
}

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

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

相關文章

時間12小時和24時轉換方法

24小時時間轉為12小時制 function convertTo12Hour(time24h){let [hours, minutes] time24h.split(:);let modifier 上午;if (parseInt(hours, 10) > 12) {modifier 下午;hours (parseInt(hours, 10) - 12).toString();}if (parseInt(hours, 10) 12) {modifier 下午;}…

新手入門:無服務器函數和FaaS簡介

無服務器&#xff08;Serverless&#xff09;架構的價值在于其成本效益、彈性和擴展性、簡化的開發和部署流程、高可用性和可靠性以及使開發者能夠專注于業務邏輯。通過自動化資源調配和按需計費&#xff0c;無服務器架構能夠降低成本并適應流量變化&#xff0c;同時簡化開發流…

《昇思25天學習打卡營第01天|sun65535》

開始 昇思25天打卡訓練營&#xff0c;讓我第一次了解了華為昇思的平臺&#xff0c;之前也有自己本地使用4060訓練了一些“小模型”&#xff0c;但是都是比較皮毛的知識&#xff0c;只是根據教程去搭建。很少了解到具體的過程。昇思25天打卡訓練營給了一個比較全面的訓練課程。…

大數據基礎知識【大數據導論】

各位大佬好 &#xff0c;這里是阿川的博客&#xff0c;祝您變得更強 個人主頁&#xff1a;在線OJ的阿川 大佬的支持和鼓勵&#xff0c;將是我成長路上最大的動力 阿川水平有限&#xff0c;如有錯誤&#xff0c;歡迎大佬指正 大數據基礎知識前 必看 【大數據導論】—大數據序言…

Golang | Leetcode Golang題解之第206題反轉鏈表

題目&#xff1a; 題解&#xff1a; func reverseList(head *ListNode) *ListNode {if head nil || head.Next nil {return head}newHead : reverseList(head.Next)head.Next.Next headhead.Next nilreturn newHead }

vue3基于uni-app 封裝小程序request請求

const BASE_URL https://47.122.26.142; // 替換為你的 API 基礎 URL const token uni.getStorageSync(token);const request (url: string, method: any, data {}, headers {}) > {return new Promise((resolve, reject) > {uni.request({url: ${BASE_URL}${url},m…

【1.1】動態規劃求解不同的子序列

一、題目 給定一個字符串s和一個字符串t&#xff0c;計算在s的子序列中t出現的個數。 字符串的一個子序列是指&#xff0c;通過刪除一些&#xff08;也可以不刪除&#xff09;字符且不干擾剩余字符相對位置 所組成的新字符串。&#xff08;例如&#xff0c;"ACE"是…

6.2、函數的定義

代碼 #include <iostream> using namespace std; #include <string>//函數定義//語法&#xff1a;//返回值類型 函數名(參數列表) {函數體語句 return表達式}//加法函數 int add(int num1, int num2) {int sum num1 num2;return sum; } int main() {cout <&l…

SpringBoot異步接口實現 提升吞吐量

前言 Servlet 3.0之前&#xff1a;HTTP請求由單一線程處理。Servlet 3.0之后&#xff1a;支持異步處理&#xff0c;提高系統吞吐量。 SpringBoot 異步接口實現方式 AsyncContext&#xff1a;Servlet層級&#xff0c;不常用。Callable&#xff1a;使用java.util.concurrent.C…

聊聊Redis持久化策略RDB

寫在文章開頭 為避免服務器宕機著情況導致redis內存數據庫數據丟失&#xff0c;redis默認出通過rdb保證可靠性&#xff0c;本文將從源碼的角度帶讀者了解rdb讀寫時機和寫入流程。 Hi&#xff0c;我是 sharkChili &#xff0c;是個不斷在硬核技術上作死的 java coder &#xff…

刷代碼隨想錄有感(124):動態規劃——最長公共子序列

題干&#xff1a; 代碼&#xff1a; class Solution { public:int findLength(vector<int>& nums1, vector<int>& nums2) {vector<vector<int>>dp(nums1.size() 1, vector<int>(nums2.size() 1, 0));int res 0;for(int i 1; i <…

數據集采樣策略對模型性能的影響問題

數據集采樣策略對模型性能的影響問題&#xff0c;需要具體代碼示例 隨著機器學習和深度學習的快速發展&#xff0c;數據集的質量和規模對于模型性能的影響變得越來越重要。在實際應用中&#xff0c;我們往往面臨著數據集規模過大、樣本類別不平衡、樣本噪聲等問題。這時&#…

uni.showShareMenu({}) 和 uni.showShareImageMenu({}) 的區別

ChatGPT uni.showShareMenu({}) 和 uni.showShareImageMenu({}) 是 Uni-app 中兩個不同的 API&#xff0c;它們的作用和用法有所不同&#xff1a; uni.showShareMenu({}) 作用&#xff1a;用于顯示當前頁面的分享菜單&#xff0c;通常顯示在頁面的右上角&#xff08;類似于微…

lnternet 發展史

一&#xff0c;lnternet 發展史 ARPA net &#xff08;上世紀50年代二戰結束&#xff09; 無線 戰場指揮通信協議落后 TCP/IP 包交換 WEB (70年代 ) 80年代 90年代 二&#xff0c;互聯網的典型應用&#xff1a; 96年到2008年 第一代技術…

AJAX的概述 ,同步和異步的區別 ,AJAX 的交互模型和傳統交互模型的區別

一. AJAX的概述 1.1 什么是ajax 同步&#xff1a; 異步&#xff1a; 1.AJAX Asynchronous JavaScript and XML&#xff08;異步的 JavaScript 和 XML&#xff09;。 ? 說明&#xff1a;異步&#xff1a;就是不同步。例如我們向后臺發送請求&#xff0c;同步的方式是后臺必…

日語筆記——jy

敬語尊敬自兼丁寧するされるいたすします先生が詳細に説明されるご説明いたします説明しますいうおっしゃる申す言うお名まえはなんとおっしゃいますかほかのことは申すまでもない親の言う事をよく聞く行くいらっしゃる參る行きます先生もいらっしゃるのですかご一緒に參りまし…

Node.js學習路線

Node.js是一個基于Chrome V8引擎的JavaScript運行環境&#xff0c;它允許JavaScript在服務器端運行。Node.js的核心內容和高階內容涵蓋了多個方面&#xff0c;以下是對Node.js的詳細解析、核心內容以及高階內容的歸納&#xff1a; 一、Node.js簡介 運行環境&#xff1a;Node.…

svn忽略上傳文件node_modules文件

文章目錄 1.點擊svn項目右鍵-》選中svn的屬性2. 點擊 新建3. 點擊其他4. 選擇屬性 svn:global-ignores5. 輸入忽略文件 1.點擊svn項目右鍵-》選中svn的屬性 2. 點擊 新建 3. 點擊其他 4. 選擇屬性 svn:global-ignores 5. 輸入忽略文件

四、【源碼】Bean屬性注入

源碼地址&#xff1a;https://github.com/spring-projects/spring-framework 倉庫地址&#xff1a;https://gitcode.net/qq_42665745/spring/-/tree/04-porperty-inject Bean屬性注入 屬性注入相關的類 1.PropertyValue&#xff1a;屬性對象&#xff0c;name:value 2.Prope…

【Asterinas】Asterinas 進程啟動與切換

Asterinas 進程啟動與切換 進程啟動 進程創建&#xff1a; Rust pub fn spawn_user_process( executable_path: &str, argv: Vec, envp: Vec, ) -> Result<Arc> { // spawn user process should give an absolute path debug_assert!(executable_path.starts_with…