引用(左值與右值)
1.:左值與右值的概念
,左值一般在記憶體有實體
,能放在賦值號左邊被賦值的值
2.引用乙個指標
,可以在函式內部改變乙個指標變數
(不僅可以改變指標的指向
,也可以改變指標指向的資料
3.作為函式返回值
,用於返回函式內部變數
,返回堆
,靜態區
,不能返回棧
(棧會**
)3.左值引用內部實現原理是指標
4.返回乙個引用
,可以返回堆上的
,,靜態區的資料
(不可以返回棧
)5.左值引用取位址與引用的變數去取位址是同乙個位址
右值:
右值賦值號右邊的值
,可能在
cpu,&a
也可能在記憶體
(右值用於節約記憶體實現物件拷貝
)int a; int * &&p=&a;(右值引用
)注意:
引用初始化
,必須初始化引用
1.左值與右值
#include#include//左值在記憶體必須有實體
//右值既可以在記憶體中,又可以在暫存器中(cpu)
//左值就是可以放在賦值號右邊賦值的值
//右值放在賦值號右邊取出值付給其他變數的值
void main()
//引用的一些基本常識
#include#includevoid main1()
//新建乙個變數,指向同乙個記憶體
void change(int &a)//如果引數是 int a肯定不會改變原來的那個值
void main21234()
void mai111n()
int & get()
//結束後,記憶體**,資料還沒被覆蓋
void main555()
int * &getdata()
//執行完這函式,此函式**,還未利用
void main阿斯頓發生()
system("pause");
}void mai111n()
//c++一旦const,無法改變
void mainc()
void mai1111n()
//c++許可權問題與強型別
//因為為了許可權的程式設計,唯讀不可寫的許可權(int const *p1),c++強型別會忽略
//const int *const p;//給予唯讀的許可權
void mai11111n()
int select(const int &rnum)//常量引用
void main()
c++ new delete
本質:malloc
與free
基本資料型別
int *p=new int ,delete p
int *p=new int[10],delete p,deletep
物件型別
obj*p=new obj,delete p
obj *p=new obj[10],deletep;
類的基本常識
類名(),
建構函式
,建立的時候提前處理
~類名(),
析構函式
,銷毀的時候提前處理
類的靜態變數與類建立物件初始化無關
靜態變數外部初始化
類名::
靜態變數
int tansheng::jishuqi=0;
類的靜態變數必須在外部初始化
全域性:::new全域性
new::delete全域性
delete
#include#include#includevoid mai11111n()~tansheng() //刪除的時候釋放記憶體(析構函式)
static void *operator new(size_t size)
static void operator delete(void *p)
void main()
#includeclass tansheng
~tansheng() //刪除的時候釋放記憶體(析構函式) };
void main11()
std::cout << std::endl;
} system("pause");
}
18 7 17下午隨堂筆記
1.嵌入式系統是設計完成複雜功能的硬體和軟體,並使其緊密耦合在一起的計算機系統。是將應用程式 作業系統和計算機硬體整合在一起的系統。2.應用領域 工業控制 軍事國防 消費電子 網路。3.在linux裡使用命令比使用滑鼠更加方便。4.命令 ls 顯示的意思 cd 進入的意思 舉例 輸入 cd 值得注意...
2020 3 10下午筆記 MYSQL!
流程 進入資料庫登入 選擇資料庫 選擇旗下的table 操作 t1 方向鍵上快捷進入資料庫 t2 ctrl c返回 mysql u root p 進入資料庫 create database mydb01 建立資料庫 create database mydb01 character set utf8 ...
軟考 程式設計師 下午考題 c語言 筆記
1.陣列名 是表示陣列空間首位址的指標常量,程式中不允許對常量賦值。如 int a a就是陣列名,表示陣列控制項首位址的指標常量 a 0 是錯誤的,不允許對指標常量賦值 a 0 a a 1 a 1 2.可以通過指標指向乙個常量,但是不能通過指標修改常量的內容 如 char p p testing p...