c 基礎值列表賦值補充

2021-10-09 18:51:32 字數 503 閱讀 8180

除了初始化之外,這種形式也可以用於賦值語句中。先回顧一下初始化變數時的情況:

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 迫使你初始化變數才能使用它們進行計算 變數沒有初始化不會出問題,因為當你企圖使用它們時,編譯器會告訴你。每當把乙個值賦給乙個值型別時,該值實際上被拷貝了。相...