初遇建構函式

2021-09-25 05:55:37 字數 932 閱讀 1710

在翻劉汝佳的紫書的時候看見一種奇怪的結構體寫法:

struct

edge

};

這裡有兩個奇怪的東西

1. edge(int u, int v, int d) 結構體裡面套了乙個什麼玩意?

2. from(u), to(v), dist(d) 這是什麼打法?

問了下餘翱,第乙個是建構函式,可以在main裡面呼叫從而快速賦值。

例如

...

intmain()

第二個是元素賦值的另一種方式。

#includeusing

namespace

std;

int a(5

),b;

intmain()

——輸出是  5#0

妙啊妙啊,這樣子就可以賦值結構體了。不然point這些的還要提出來再操作……

但是這樣子是會ce的

實際上是要這樣

#includeusing

namespace

std;

struct

p; p(

intx):x(x) {};

}f[1003

];int

main()

因為在int main之前有申請f,那麼前乙個版本並沒有對其賦預設值,所以沒法過編。

至於之後的那一行,是說明p這個結構體初始不進行任何操作。

初遇C 拷貝建構函式

拷貝建構函式作用 用乙個已存在的物件來初始化乙個正在建立的新物件。拷貝建構函式有以下特徵 拷貝建構函式名與類名相同,形參只有乙個,是物件的引用,所以不能過載拷貝建構函式,拷貝建構函式原形為 類名 類名 物件名 拷貝建構函式無任何函式返回型別說明 若類宣告中無拷貝建構函式,系統會自動給出乙個預設的拷貝...

初遇設計模式

今天開始學設計模式了。用的是程杰老師寫的 大話設計模式 在網上搜了一下這位老師的資料,簡單的了解一下這位大牛。那麼什麼是設計模式?design pattern 設計模式 design pattern 是一套被反覆使用 多數人知曉的 經過分類編目的 設計經驗的總結。使用設計模式是為了可重用 讓 更容易...

1 初遇貪心

以題著手,先上題。題意大致為,n堆果子,每一次合併兩堆果子為一堆,消耗的體力等於兩堆果子的重量之和。直到經過 n 1 次合併之後,就只剩下一堆了,要求消耗體力最少。例如有 3堆果子,數目依次為 1,2,9。可以先將 1 2堆合併,新堆數目為3,耗費體力為3 接著,將新堆與原先的第三堆合併,又得到新的...