C++ 學習筆記(二) const的加強
const 含義為只讀。如果在程序中顯式改變const變量那麽編譯會報錯。
C語言的const:
在C語言中const 變量是放在內存中,如果使用指針可以簡介改變const變量。所以在C語言中const變量是並非不可修改,演示如下:
從圖片實例中看出,通過指針指向const變量是可以修改所在內存的值。
C++中的const:
在C++中const變量不存放在內存中,而是存放在一個叫做“符號表”的東西裏面(由編譯器處理,裏面的原理我也還沒搞清楚,能用就好)。
比如:
const int a=10;//定義一個const 變量
那麽在符號表裏 符號a 就對應了數值 10。使用指針並不能改變a的值,實例:
在例程中可以看出const修飾的a變量是不能被指針修改的,但是指針所指向的內存也確實被修改了。
C++ 學習筆記(二) const的加強
相關推薦
C++ 學習筆記(二) const的加強
right 變量 pla 實例 編譯器 display 簡介 c語言 style const 含義為只讀。如果在程序中顯式改變const變量那麽編譯會報錯。 C語言的const: 在C語言中const 變量是放在內存中,如果使用指針可以簡介改變const變量。所以在C語
C++學習筆記(二)——交換函數(swap)
pos 變量 col 值傳遞 一段 turn 如何選擇 ret 原因 這次我們要透過一個簡單的函數swap深入理解函數傳參的本質以及在C++中如何選擇傳參方式。 先來看第一段程序: void swap(int x, int y) { int temp = y;
C++學習筆記(二):開啟檔案、讀取資料、資料定位與資料寫入
1.開啟二進位制檔案(fopen)、讀取資料(fread),應用示例如下: FILE *fp = fopen("data.yuv", "rb+"); //開啟當前目錄中的data.yuv檔案 char *buffer = ( char*) malloc (sizeof(char)*FrameSi
北京大學MOOC C++學習筆記(二)
類成員的可訪問範圍: 在類的定義中,用下列訪問範圍關鍵字來說明類成員 可被訪問的範圍: – private: 私有成員,只能在成員函式內訪問 – public : 公有成員,可以在任何地方訪問 – protected: 保護成員,以後再說 如過某個成員前面沒有上述關
C學習筆記(二)-理論
C學習筆記(二)-理論 理論選擇易錯題 本部落格用來記錄理論易錯題及一些重點概念。 如存在問題,歡迎指出。 理論選擇易錯題 What is the output of this C code? #include <stdio
c++學習筆記(二)-- c語言基礎
c語言基礎 課程來源:coursera:程學設計與演算法(Peking University,北京大學) 課程連結:程式設計與演算法 本篇簡介:這一部分是系列課第一節的後半部分,主要總結了c語言的資料型別、運算成分和控制結構。 一. 從現實問題到計算機程式 1.1 結構化程式
VS2010 C++ 學習筆記(二) 記憶體管理 new delete
記憶體的申請與示範 ***********************************************************************************
C++學習筆記(二):類和物件
類是物件共性的抽象,一種自定義的資料型別,可認為是C語言中結構體的拓展。它的作用是將資料和演算法(資料操作)封裝在使用者自定義的抽象資料型別中。 為什麼要在C++中新增類這樣一種“工具“呢? 程式中的每一組資料都是為某一種操作而準備的。而資料的交叉使用容易導致資料被誤操作,
C++學習筆記(二)——構造與析構
建構函式:在建立物件時執行的函式 特性: 1.建構函式與類名相同 2.建構函式無返回型別(必須沒有) 3.建立物件時被呼叫(類似於初始化) 4.建構函式可以有引數(建立時直接傳入) 形如:A(); 以下是一個建構函式的例子: #include <s
C++學習筆記(三)--函式引數,陣列函式,指標和const,二維陣列函式,遞迴,函式指標
C++ Primer Plus學習筆記之三 每一塊寫了一個詳細闡釋的demo,具體使用方法以及注意事項在程式碼裡都有備註 第七章函式--C++的模組程式設計,總計分為以下幾塊-- 函式引數
《面向物件程式設計——C++語言描述》學習筆記(二)
第二章 從C到C++ 2.1main函式 1.C++中需要寫int main()不能只是main() 2.main()函式裡面最後有一個return 0; 3.main()被啟動程式碼呼叫,而啟動程式碼是編譯器新增到程式中的,是程式和作業系統的橋樑。 4.C++中main()中
Object C語法學習筆記(二)
1、@property與@synthesize配對使用。 @property預編譯指令的作用是自動宣告屬性的setter和getter方法。 @synthesize 建立了該屬性的訪問程式碼 功能:讓編譯好器自動編寫一個與資料成員同名的方法宣告來省去讀寫方法的宣告。 2、強引用(__st
C# EMGU 3.4.1學習筆記(二)XML和YAML檔案的寫入
以下是《OpenCV3程式設計入門》中5.6.3的示例程式的C# + EMGU 3.4.1版,和C++程式相比,有如下幾點不同: 1. 使用Matrix<>儲存多維陣列,多維陣列的各維需要使用{}擴起來,之間用逗號分隔; 2. C#中無法使用<<和
C#語言學習筆記(二):變量、數據類型和運算符
tex ear 布爾值 全部 exchange result 轉換成 lis int 變量、數據類型 給變量賦值,如果想指定float,在數字後面加上F/f;如果想指定decimal,在數字後面加上m。 0-9:48-57 A-Z:65-90 a-
自己用的C#基礎學習筆記(二)——C#面向物件(2)
1 第十一天 1.1 string stringbuffer stringbulider 1.三者在執行速度方面的比較:StringBuilder > StringBuffer > String 2.String <(StringBuffer,Str
c# linq學習筆記(二)
查詢 .exe tro use control urn ces 控制器 asp 實際工作要求中需要我使用Lambda表達式來編寫,這裏先介紹一下Lambda表達式 1、Lambda表達式 使用 lambda 表達式,可以寫入可作為參數傳遞或作為函數調用值返回的本地函數
php laravel框架學習筆記 (二) 數據庫操作
true 數據 mar sql show top 一行 ati del 原博客鏈接:http://www.cnblogs.com/bitch1319453/p/6810492.html mysql基本配置 你可用通過配置環境變量,使用cmd進入mysql,當然還有一種東
java學習筆記(二)圖形用戶接口
star strong per getwidth cep runnable graphics s2d gb2 這個學期主要放在ACM比賽上去了,比賽結束了。不知不覺就15周了,這周就要java考試了,復習一下java吧。java的學習的目的還是讓我們學以致用,讓我們可以
數據結構學習筆記(二) 線性表的順序存儲和鏈式存儲
出錯 初始化 node != test span 輸入 des val 線性表:由同類型數據元素構成有序序列的線性結構 --》表中元素的個數稱為線性表的長度 --》沒有元素時,成為空表 --》表起始位置稱表頭,表結束位置稱表尾 順序存儲: 1 package
C#學習筆記(7)——委托
() namespace test task cnblogs [] string 命名空間 program 說明(2017-5-29 22:22:50): 1. 語法:public delegate void mydel();這一句在類外面,命名空間裏面。 2. 專門新建一