2017-02-10 5 views
0
struct node{ 
    int key, prior, cnt, val; 
    node *l, *r; 
    node(){} 
    node(int nkey) : key(nkey), prior(rand()), cnt(1), l(0), r(0), val(1){} 
}; 

node(){}は何をしますか?それを説明してください、ありがとう。node(){}は何を意味していますか?

+0

これはデフォルトコンストラクタです。 – WhozCraig

+0

投稿の投稿と質問のタイトルは全く異なります。できるだけコアの質問に直接関係するようにタイトルを書き直すようにしてください。 –

答えて

0

node(){}とは何ですか?説明してください

node(){}treapノードのように見えます。コードnode(){}は、デフォルトのコンストラクタを定義するための構文です。

デフォルトのコンストラクタがなければ、std::array,std::vectorなどのstlコンテナには余分なコードを使用することができないので、デフォルトの定義が必要です。競争のコーディングでは、人々は最小コードを書いて、可能な限り多くの場合既存の機能を使用する傾向があります。

+1

* edit *、ok、他のコンストラクタがある場合は、配列._で使用するデフォルトのコンストラクタが必要です。 、 説明ありがとう 。 –

+0

それがあなたを助けたら嬉しいです。 –

+1

すべての標準コンテナは、デフォルトのコンストラクタなしで使用できます。 'std :: array'は初期化が必要ですが、' std :: vector'を含む他のものは空にすることができますので、問題ありません。 – Quentin

1

デフォルトコンストラクタnode()を空の関数{}として定義します。

関連する問題