

> struct Edge{ int to, cost;  
>  Edge(){}  
>  Edge(int to, int cost):to(to),cost(cost){} };

これはどういった意味でしょうか？  
Edge(){}は関数でしょうか


CC BY-SA 4.0
2019-05-19T08:40:52.893
55089
2019-05-19T09:27:35.393
24617
question
c++ c++11
C++ struct


**_Edge(){}は関数でしょうか_**

コンストラクタです。C++では、「戻り値型なし、関数名が型名と一緒」のメンバー関数宣言はコンストラクタとなります。`()`は引数無し、`{}`はコンストラクタ内での実際の処理が無いことを表しています。(次の行は引数ありのコンストラクタです。)

ちゃんとした(?)C++のコードから入られたのなら見慣れないかもしれませんが、C++を基本から解説している書籍やサイトをご覧になってみれば、このような書き方になっているものがたくさん見つかるかと思います。

ご自身がどの程度までC++の知識を持ち合わせているのかご披露いただければ、もう少し何か付け足せるかもしれません。


CC BY-SA 4.0
2019-05-19T09:27:35.393
55091
2019-05-19T09:27:35.393
13972
55089
answer