c++primer學習日記0——引用、指標及const
·引用必須被初始化,且初始值必須是一個物件,像 int &i = 10 這就是錯誤的。
·必須同類型引用,double a = 3.14; int &b = a;這是錯誤的。
·指標只能存地址,不能把int變數賦值給指標
·初始化所有指標
·void* 指標可以存放任意物件的地址
·const 物件必須被初始化
·const 物件只在檔案內有效,extern const int xxxxx 就能被其他檔案訪問
·常量引用既可以引用常量,也可以引用變數,但不能通過常量引用修改指向的物件
·常量引用中,const int &a = 40;是可以的,普通引用就不行
·要想存放常量物件的地址,只能使用指向常量的指標,也就是底層const,要求不能通過底層const指標改變指向物件的值(哪怕指向變數也不行)
·常量指標,即頂層const指標,必須初始化,且初始化之後指標存放的地址就不能變了,但是可以通過常量指標改變指向物件的值
·copy 操作時,兩個物件必須同時具有底層const資格,一般來說,非常量可以轉換成常量,反之則不行
相關推薦
c++primer學習日記0——引用、指標及const
·引用必須被初始化,且初始值必須是一個物件,像 int &i = 10 這就是錯誤的。 ·必須同類型引用,double a = 3.14; int &b = a;這是錯誤的。 ·指標只能存地址,不能把int變數賦值給指標 ·初始化所有指標 ·void*
C++ Primer 學習筆記與思考_8 指標和const的那些麻煩
(一)陣列的下標和指標的關係 我們以前知道,在表示式中使用陣列名時,實際使用的是指向陣列第一個元素的指標。當我們使用下標訪問陣列時,實際上是對指向陣列元素的指標做下標操作,只要陣列指向陣列元素,就可以對它進行下標操作。像下面程式中的p[-1]這種表示方法,可能乍一看比較彆扭
C++ 筆記:引用、指標和 const 限定符
引用 引用必須初始化,也就是說,引用從“出生”開始就必須繫結至另一個物件,且必須“從一而終” 引用必須繫結至物件,而不能繫結至字面值或表示式計算結果 引用的型別要和其繫結的物件嚴格匹配,但有兩個例外情
c++學習四(過載、指標和引用)
所謂過載就是:函式名相同,引數不同(包括型別、數量、順序不同) 當我們呼叫函式的時候編譯器能夠通過函式引數的數量或者型別或者順序不同來選擇要呼叫那個函式。但是不能通過返回值的不一樣來過載函式。 #include <iostream> using namesp
C++Primer學習筆記十一——關聯容器、.md
關聯容器不支援順序容器的位置相關操作,如 push_back或push_front。原因是關聯容器中元素是按關鍵字儲存的,這些操作對關聯容器沒有意義。 關聯容器也不支援建構函式或插入操作這些接受一個元素值和一個數量值的操作 關聯容器的迭代器都是雙向的,還有一些
C++Primer學習筆記_13.1 拷貝、賦值與銷燬
C++primer學習筆記——第13章拷貝控制 13.1拷貝、賦值與銷燬 13.1.1拷貝建構函式 定義: 建構函式第一個引數是自身型別的引用。 任何額外引數都有預設值 合成拷貝建構函式: 如果沒有自定義拷貝建構
『C++ Primer學習筆記』Chapter 3 string物件、vector物件以及陣列的配套型別,C風格字串問題和處理區別
string物件、vector物件以及陣列(指標)配套的型別 無論是string物件還是vector物件,它們都有一個size()的成員函式,因此就可能會有這樣的一個疑問:成員函式size()返回的到底是什麼型別?之所以可能會有而不是一定會有是因為,當我們使用
C#學習日記14---引用型別 之 object類
先讓我們瞭解下什麼叫object類 Object類: object類是所有型別的基類,所有型別都是由他派生而來,C#中所有的類都是直接或間接的從Sytem.Object類中
[C/C++] C++ Primer學習筆記
轉義 寫到 十六進制 程序 結果 否則 筆記 end 情況 下面記錄我每天看書學到的以前不太清楚的概念和用法: Day 1 endl:具有輸出換行的效果,並刷新與設備相關聯的緩沖區。 註:在調試程序過程中插入的輸出語句都應刷新輸出流,否則可能會造成程序崩潰,將會導致程序出錯
C++ Primer 學習筆記_5_變量和基本類型(續2)
key 情況 boa 類和對象 類定義 優點 splay 查看 變量定義 變量和基本類型 七、枚舉 枚舉不但定義了整數常量集,並且還把它們聚集成組。 枚舉與簡單的const常量相比孰優孰劣, 通過以下一段代
C++ Primer 學習筆記與思考_7 void和void*指針的使用方法
能夠 amp space turn begin member use mem urn (一)void的含義 void的字面意思是“無類型”,void差點兒僅僅有“凝視”和限制程序的作用,由於從來沒有人會定義一個void變量,讓我們試著來定義: void a;
C++ primer 13.1:拷貝、賦值和析構
拷貝構造函數 阻止 需要 函數 static let default 個數 調用 1.拷貝構造函數 基本形式:Name(const Name&) 對於類類型成員,會調用拷貝構造函數拷貝,對於內置類型成員就直接拷貝。對於數組,合成的拷貝構造函數會逐個拷貝都另一
C++11:右值引用、移動語意與完美轉發
在C++11之前我們很少聽說左值、右值這個叫法,自從C++11支援了右值引用之後,大多數人會像我一樣疑惑:啥是右值? 準確的來說: 左值:擁有可辨識的記憶體地址的識別符號便是一個左值。 右值:非左值。 左值引用:左值識別符號的一個別名,簡稱引用
C語言學習日記第一篇(C語言概述)
C語言學習日記第一篇——C語言概述 一,C語言概述 如果要說目前什麼語言最為火熱,人們可能會說Python、Android,學好這些語言可以讓你很輕鬆的找到一份收入不菲的工作,過上舒適的生活。但是,小編覺得,如果要說什麼語言最重要,還是得回到C語言上來。我們平時所談論到的所有語言的發
c++ primer 學習筆記——函式的定義與宣告
c++語句 宣告語句:int stone;指出變數的型別為int型,同時用變數stone標識儲存在該記憶體單元中的值。 賦值語句:將值賦給儲存單元。stone=5;或者pounds=stonetolb(stone); 初始化:在宣告變數的同時給變數賦值。int pou
c++primer學習筆記 string的一些額外操作
1.string除了與其他順序容器相同的建構函式,還額外支援另外三個建構函式。 構造string的方法 string s(cp, n) s是cp指向的陣列中前n個字元的拷貝。此陣列至少應該包
引用、指標
&的三個含義:位與、引用變數說明符、取地址運算子 *的三個含義:乘、指標變數說明符、取值運算子 【引用】:引用變數與被引用變數同時指向同一記憶體地址,其一改變,兩者都改變。 &——引用變數說明符,xa——引用變數(型別要與x一致,且不能再引用其他變數) #include <
C++primer 學習筆記——第六章 函式
一、函式基礎 函式:返回型別+函式名字+形參列表+函式體 通過呼叫運算子來執行函式。呼叫運算子的形式是一對圓括號,它作用於一個表示式,該表示式是函式或者指向函式的指標。 形參與實參 實參是形參的初始值。 實參的型別和數量必須與對應的形參型別和數量匹配。即使某個形參不
C++ Primer 學習(第四章)
1.左值和右值 C++中可以這樣簡單的理解左值和右值:能夠取地址的、有名字的就是左值,反之,不能取地址的、沒有名字的就是右值。當一個物件被用作右值的時候,用的是物件的值(內容);當物件被用作左值的時候,用的是物件的身份(在記憶體中的位置)。一個重要的原則是在需要右值的地方可
C++Primer學習筆記+練習答案-第一章
練習答案 Exercise 1.1: Review the documentation for your compiler and determine what file naming convention it uses. Compile and run th