ES中模糊查詢的實現
阿新 • • 發佈:2020-08-15
變數
變數提供與一個具體的、可供程式操作的儲存空間
目錄
---
變數定義
型別說明符+一個/多個變數名組成的列表
初始化
在物件建立時獲得一個特定的值,就是這個物件被初始化了。
care:初始化≠賦值,前者是建立時賦予一個初始值,後者是用一個值覆蓋原來的值
列表初始化
用一組由花括號括起來的值給予其賦值
預設初始化
當定義變數時,沒有給予其賦初始值,則編輯器會自動給變數賦予預設值。
care:如果在定義變數時沒有指定初值,那麼變數會被預設初始化。
1、定義在任何函式體外的變數會被初始化為0。
2、定義在函式體內部的變數不會被初始化。
3、類的物件未被初始化,則初值由類決定。
變數宣告和定義的關係
宣告
使得名字為程式所知,如果想使用該變數,則必須實現包含其宣告。宣告會確定變數的名字和型別。
定義
創建於名字關聯的實體。定義會申請儲存空間,可能會賦予初始值
care:變數只能被定義一次,但可以被多次宣告。
關鍵字extern
如果想宣告一個變數而非定義它,就在變數名前新增關鍵字extern,而且不要顯式地初始化變數。
任何包含了顯式初始化的宣告即成為定義。我們能給由extern關鍵字標記的變數賦一個初始值,但是這麼做也就抵消了extern的作用。extern語句如果包含初始值就不再是宣告,而變成定義了。
識別符號
組成
字母、數字、下劃線,必須以字母/下劃線開頭。(大小寫銘感)
變數命名規範:
①識別符號儘量體現實際含義
②變數名多用小寫字母
③使用者自定義的類名一般以大寫字母開頭
④如果識別符號由多個單片語成,單詞間要由區分,如每個單詞頭字母大寫、單詞間加入'_'
名字的作用域
同一個名字在不同的作用域中可能指向不同的實體。名字的有效區域始於名字的宣告語句,以宣告語句所在的作用域末端為結束。
全域性作用域
定義於所有花括號外的名字,可以在整個程式的範圍內使用。
塊作用域
定義在某個函式/方法內部,到函式的'}'作用作用結束。
care:當要使用一個變數的時候再去定義它,使得程式閱讀性提高。
巢狀的作用域
內層作用域:被包含的作用域
外層作用域:包含別人的作用域
功能:作用域一旦宣告某一個名字,它巢狀的所有作用域都能訪問這個名字,允許在內層作用域重新定義外層作用域的已有的名字。
參考
《C++ primer》