C++學習筆記:C/C++中static關鍵詞有用途
C語言中:static關鍵詞有三種用途
1.靜態區域性變數
特點:
-
該變數在全域性資料區分配記憶體(區域性變數在棧區分配記憶體)
-
靜態區域性變數在程式執行到該物件的宣告處時被首次初始化,以後不會再進行初始化
-
如果沒有顯式初始化,會被程式自動初始化為0(區域性變數不會被初始化)
-
靜態區域性變數始終留在全域性資料區明知道程式結束,但作用域始終在區域性作用域中。
2.靜態區域性變數
特點:
-
靜態全域性變數不能被其他檔案所用(全域性變數可以)
-
其他檔案中可以定義相同名字的變數,不會衝突(因為static作用於檔案)
3. 靜態函式
特點:
-
靜態函式不能被其他檔案所用(extern)
-
不同檔案定義相同靜態函式不會發生衝突
C++語言中:static關鍵詞有兩種用途
1.靜態資料成員
特點:
-
分配在全域性資料區,不佔用物件記憶體空間
-
靜態資料成員只初始化一次
2.靜態成員函式
特點:
-
靜態成員之間可以相互訪問
-
非靜態成員函式可以任意訪問靜態成員函式和靜態資料成員
-
靜態成員函式不能訪問成員函式和成
相關推薦
C++學習筆記:C/C++中static關鍵詞有用途
C語言中:static關鍵詞有三種用途 1.靜態區域性變數 特點: 該變數在全域性資料區分配記憶體(區域性變數在棧區分配記憶體
C++學習筆記:const extern static 指南
才疏學淺,請看連結:1.簡單使用:http://blog.csdn.net/u011619283/article/details/525981322.終極指南:http://www.cnblogs.com/machao/p/5882302.html
C#學習筆記:預處理指令
copy erro log com 學習 tco endif href 指定 C#和C/C++一樣,也支持預處理指令,下面我們來看看C#中的預處理指令。 #region 代碼折疊功能,配合#endregion使用,如下: 點擊後如下: 條件預處理 條件預處
學習筆記:google c++ 編程風格指南
put rtu 操作符重載 同名 vmm foo 靜態數據成員 友元類 for 目錄:一、頭文件.................................................二、作用域...................................
(C/C++學習筆記)2.C++中vector的使用
alt double space ons 說明 info 部分 所有 con 說明:vector是C++中一個非常方便的容器類,它用於存放類型相同的元素,利用成員函數及相關函數可以方便的對元素進行增加或刪除,排序或逆序等等,下面將對這些功能一一敘述。 一.vector的第一
C++學習筆記:(十)異常
10.異常處理 C++具有強大的擴充套件能力,同時也大大增加了產生錯誤的可能性。在程式設計時,不能忽略異常處理。處理異常的方法多種多樣。錯誤處理程式碼分佈在整個系統程式碼中,在任何可能出錯的地方都進行異常處理,閱讀程式碼時可以直接看到異常處理的情況,但是引起的程式碼膨脹將不
學習筆記:對C語言指標的理解
在C語言中,有很多極易混淆的概念(比如:記憶體和指標、函式指標、指標函式、陣列指標、指標陣列),也正是這些概念使得很多人學習起來很累,今天,筆者分享一下自己對這些的概念的理解。 一、定義 1、記憶體:隨機存取儲存器,也叫主存,是與CPU直接交換資料的內部儲存器。 2、指
C++學習筆記:複合型別
Keep going~ 1.string類 包含標頭檔案string.h,並提供using編譯指令 using namespace std 可以用陣列表示法來訪問儲存在string物件中的字元
C++ 學習筆記:STL 容器一些底層機制
1、vector 容器 vector 的資料安排以及操作方式,與 array 非常相似。兩者的唯一區別在於空間的運用的靈活性。array 是靜態空間,一旦配置了就不能改變,vector 是動態陣列。在堆上分配空間。vector 是動態空間,隨著元素的加入,它的內部機制會自行
c++學習筆記:動態規劃(最長公共子序列,01揹包問題,金錢兌換問題)
/* 參考書:演算法設計技巧與分析 M.H.Alsuwaiyel著 吳偉旭 方世昌譯 ---------------------------------------------------------------- 1.遞迴 將問題分成相似的子問題 1.1Fa
C# 學習筆記 --為啥選擇C#
信息 工程 界面 uid 軟件使用 搜索 printf 慢慢 編程習慣 初學C#,沒有看視頻教程,也沒有C++基礎,只有C基礎、VB基礎。 喜歡VB的快捷,很方便就可以搭建起windows的開發環境,很容易上手。 同樣,喜歡C的簡單,自由。長期寫單片機程序,知道
C++學習筆記----2.4 C++對象的內存模型
影響 sni 創建 clas esp cheng lac -c 如果 轉載自:http://c.biancheng.NET/cpp/biancheng/view/2995.html點擊打開鏈接 當對象被創建時,編譯器會為每個對象分配內存空間,包括成員變量和成員函數。直觀的認
C++學習筆記----2.4 C++引用在本質上是什麽,它和指針到底有什麽區別
times 數據 添加 eof 相關 參數 副本 span 符號 從概念上講。指針從本質上講就是存放變量地址的一個變量,在邏輯上是獨立的,它可以被改變,包括其所指向的地址的改變和其指向的地址中所存放的數據的改變。 而引用是一個別名,它在邏輯上不是獨立的,它的存在具有依附性,
C++學習筆記----4.5 C++繼承時的對象內存模型
關系 分享 nbsp blank size 關聯 一個 查看 ges 推薦閱讀:http://blog.csdn.net/randyjiawenjie/article/details/6693337 最近研究了一下,C++繼承的內存對象模型。主要是讀了讀
C#學習筆記第一發---C#基礎(類型和基礎語法)
問號 key 循環 自動 其中 clas tlist 不存在 邏輯運算 首先,數據類型分為值類型和引用數據類型以及指針類型(暫不涉及):值類型是指直接儲存在內存的棧上面,引用類型則在棧上儲存一個引用,在堆上儲存具體的值。 值類型分為內建類型和用戶可以自定義的struct
Objective-C 學習 (一):Objective-C 概述
string類型 -- bool 輸入 基本數據類型 type def 消息機制 next 1. OC在C的基礎上新增了一些面向對象的語法,將C的復雜的、繁瑣的語法封裝的更為簡單。且OC完全兼容C語言. 2. OC程序的源文件的後綴名是.m, m 代表message,代表
9.Laravel5學習筆記:在laravel中註冊自己的服務到容器中
pri script -128 ring nts date require 一次 name 問題描寫敘述 或許標題寫的不夠清楚。實際情況是,在我使用laravel的過程中。須要將自己的一個類,通過服務提供者註冊到IOC容器中,可是在實際操作過程中。
MySQL學習筆記:計算機服務中找不到MySQL服務
技術分享 sql AS 目錄 exe class sql安裝 .com com 不知道什麽原因,連接了遠程服務器之後,本地服務就連接不上。 經排查,發現服務中的MySQL服務居然不見,一番搜索之後,在CMD中進入到MySQL安裝目錄的bin下執行以下語句: mys
第九周學習筆記:ADO.Net中DataSet的應用
ADO.Net中DataSet的應用 一.思維導圖 一.相關知識點 三大特性 DataSet物件的三大特性: (1) 獨立性。DataSet獨立於各種資料來源。 (2) 離線(斷開)和連線。 (3) DataSet物件是一個可以用XML形式表示的資
java程式設計思想學習筆記:初始&過載&this&static
構造器初始化 構造器 ,採用與類相同的名稱,建立物件時,自動呼叫構造器來初始化物件 預設構造器(無參構造器):不接受任何引數的構造器 構造器也可帶引數,指定如何建立物件 當類中沒有構造器,編譯器會自動建立一個預設構造器; 當類中已經定義了一個構造