除了初始化之外,這種形式也可以用於賦值語句中。先回顧一下初始化變數時的情況:
vector vi;
接下來是賦值的情況:
vector vi;
vi = {6, 7, 8, 9, 10};
這種形式,對於有限多個數值的賦值是非常有用的。
補充和初始化一樣,使用大括號包圍的值列表也有同樣的優勢。乙個是防止窄化,有時可以簡單的理解為防止精度降低,例如下面的**是無法編譯通過的:
double pai = 3.1415926;
int pi;
pi = ; //編譯錯誤。
另外,如果大括號裡的初始化列表為空,編譯器會建立乙個值初始化的臨時量並賦值給賦值物件。
結果:
C 之 基礎概念補充
c 實現物件導向的三個基本工具是 封裝 繼承 多型。乙個物件直接使用另乙個物件的屬性和方法。優點 減少重複的 繼承是多型的前提。繼承增加了類的耦合性。缺點 繼承在編譯時刻就定義了,無法在執行時刻改變父類繼承的實現 父類通常至少定義了子類的部分行為,父類的改變都可能影響子類的行為 如果繼承下來的子類不...
C 值型別賦值與引用型別的賦值
在c 中,資料型別大致可以分為兩類,一類是值型別,一類是引用型別。初學者往往會被型別之間的相互賦值搞的很迷惑,尤其是引用型別變數的相互賦值。現在舉2個例子,來一一說明。值型別變數的賦值 值型別變數中儲存的是實際資料,在賦值的時候只是把資料複製乙份,然後賦給另乙個變數。例子1 int var1 2 i...
C 值型別賦值與引用型別的賦值
c 程式設計中,大家會經常使用到不同的資料型別,那麼 程式語言到底有什麼型別呢?具體如下 1 值型別 各種值型別總是含有相應該型別的乙個值。c 迫使你初始化變數才能使用它們進行計算 變數沒有初始化不會出問題,因為當你企圖使用它們時,編譯器會告訴你。每當把乙個值賦給乙個值型別時,該值實際上被拷貝了。相...