1. 程式人生 > 實用技巧 >ES中模糊查詢的實現

ES中模糊查詢的實現

變數

變數提供與一個具體的、可供程式操作的儲存空間


目錄

---

變數定義

型別說明符+一個/多個變數名組成的列表

初始化

在物件建立時獲得一個特定的值,就是這個物件被初始化了。

care:初始化≠賦值,前者是建立時賦予一個初始值,後者是用一個值覆蓋原來的值

列表初始化

用一組由花括號括起來的值給予其賦值

預設初始化

當定義變數時,沒有給予其賦初始值,則編輯器會自動給變數賦予預設值。

care:如果在定義變數時沒有指定初值,那麼變數會被預設初始化。
    1、定義在任何函式體外的變數會被初始化為0。   
    2、定義在函式體內部的變數不會被初始化。 
    3、類的物件未被初始化,則初值由類決定。


變數宣告和定義的關係

宣告

使得名字為程式所知,如果想使用該變數,則必須實現包含其宣告。宣告會確定變數的名字和型別。

定義

創建於名字關聯的實體。定義會申請儲存空間,可能會賦予初始值

care:變數只能被定義一次,但可以被多次宣告。

關鍵字extern

如果想宣告一個變數而非定義它,就在變數名前新增關鍵字extern,而且不要顯式地初始化變數。
任何包含了顯式初始化的宣告即成為定義。我們能給由extern關鍵字標記的變數賦一個初始值,但是這麼做也就抵消了extern的作用。extern語句如果包含初始值就不再是宣告,而變成定義了。


識別符號

組成

字母、數字、下劃線,必須以字母/下劃線開頭。(大小寫銘感)

變數命名規範:

①識別符號儘量體現實際含義
    ②變數名多用小寫字母
    ③使用者自定義的類名一般以大寫字母開頭
    ④如果識別符號由多個單片語成,單詞間要由區分,如每個單詞頭字母大寫、單詞間加入'_'


名字的作用域

同一個名字在不同的作用域中可能指向不同的實體。名字的有效區域始於名字的宣告語句,以宣告語句所在的作用域末端為結束。

全域性作用域

定義於所有花括號外的名字,可以在整個程式的範圍內使用。

塊作用域

定義在某個函式/方法內部,到函式的'}'作用作用結束。

care:當要使用一個變數的時候再去定義它,使得程式閱讀性提高。

巢狀的作用域

內層作用域:被包含的作用域
外層作用域:包含別人的作用域
功能:作用域一旦宣告某一個名字,它巢狀的所有作用域都能訪問這個名字,允許在內層作用域重新定義外層作用域的已有的名字。


參考

  《C++ primer》