二、函式提高
給變數起別名
語法:資料型別 &別名 = 原名
示例
#include
using
namespace std;
intmain()
輸出結果
示例
#include
using
namespace std;
intmain()
輸出結果
函式傳參時,可以利用引用的技術讓形參修飾實參,
可以簡化指標修改實參
(類似位址傳遞)
示例
#include
using
namespace std;
//1、值傳遞
void
swap01
(int a,
int b)
//2、位址傳遞
void
swap02
(int
*a,int
*b)//3、引用傳遞
void
swap03
(int
&a,int
&b)int
main()
輸出結果
引用是可以作為函式的返回值存在的
【注意】 不要返回區域性變數引用
用法:函式呼叫作為左值
示例
#include
using
namespace std;
//不要返回區域性變數的引用
int&
test01()
//相當於用引用的方式返回
int&
test02()
intmain()
引用的本質:在c++內部實現是乙個指標常量
指標常量:指標的指向不可以改變,但是指標的值可以改變
常量引用:主要用來修飾形參,防止誤操作
在函式列表中,可以加const修飾形參,防止形參改變實參
加上const 之後變為唯讀,不可以修改(類似位址傳遞處)
在c+++中,函式的形參列表中的形參是可以有預設值的
語法:返回值型別 函式名 (引數 = 預設值)
函式宣告和函式實現只能有乙個預設引數 示例
#include
using
namespace std;
intfunc
(int a,
int b,
int c )
;//函式宣告
intmain()
//函式實現
//如果自己在主函式中傳入引數,則就用傳入的引數,如果沒有傳入,則用預設值
intfunc
(int a,
int b =10,
int c =30)
//如果給了b預設引數,則b右邊的引數都得有預設引數
c++中函式的形參列表裡可以有佔位引數,用來做佔位,呼叫函式時必須填補該位置
語法:返回值型別 函式名 (資料型別)
示例
#include
using
namespace std;
//佔位引數
void
func1
(int a,
int)
//佔位引數可以有預設值
void
func2
(int a,
int=10)
intmain()
函式名可以相同,提高復用性
函式過載滿足條件
函式的返回值不可以作為函式過載的條件 示例
#include
using
namespace std;
//1、func函式都在全域性域
//2、函式名不同
//引數型別不同 符合函式過載條件
void
func()
void
func
(int a)
intmain()
函式過載的注意事項
引用作為過載條件時
函式過載碰到函式預設引數 示例
#include
using
namespace std;
//1、引用作為過載條件
void
func
(int
&a)//int &a=10;是不合法的語法,所以腐女吧(10)無法呼叫此函式
void
func
(const
int&a)
//2、函式過載碰到預設引數
void
func2
(int a,
int b =10)
void
func2
(int a)
intmain()
【注釋】 學習課程為-黑馬程式c++教 第七周(2) 打卡功能
在這半周的工作中,我們小組仍然主要進行後台客戶端的 編寫工作以及介面的優化,在這裡,我對自己主要從事的工作,即客戶端的打卡功能的規劃,做乙個重點的介紹。計畫介面為乙個列表,顯示出每個人的打卡狀態,以及上傳的 具體 如下所示 xmlns android android layout width mat...
Python學習Day4打卡
合併 分片與索引 字串格式化符 列表,元組,字串的共同點 1.都可以通過索引得到每乙個元素 2.預設索引值總是從0開始 靈活的python還支援負數索引 3.可以通過分片的方法得到乙個範圍內發元素的集合 4.有很多共同的操作符 我們把他們統稱為序列 1.list list 方法用於把乙個可迭代物件轉...
深度學習第一打卡
深度學習第一次開啟 1.在模型訓練或 時,我們常常會同時處理多個資料樣本並用到向量計算。在介紹線性回歸的向量計算表 達式之前,讓我們先考慮對兩個向量相加的兩種方法。2.函式形式較為簡單時,上面的誤差最小化問題的解可以直接用公式表達出來。這類解叫作解析解 analytical solution 本節使...