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(){}是什麼意思?
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(){}是什麼意思?
node(){}
是做什麼用的?請解釋一下
node(){}
看起來像treap節點。代碼node(){}
是定義默認構造函數的語法。
沒有默認的構造函數,你不能在STL容器,所以你需要爲默認的定義中使用node
像std::array
,std::vector
等無需額外的代碼。在編碼競賽中,人們傾向於編寫最小代碼並儘可能多地使用現有功能,即使以泄漏範圍等爲代價。
*編輯*,好的,如果你有其他的構造函數,你需要在數組中使用默認的構造函數._。 , 感謝您的解釋 。 –
我很高興,如果它幫助你。 –
所有標準容器在沒有默認構造函數的情況下都可以使用。 'std :: array'確實需要初始化,但其他的包括'std :: vector'可以是空的,所以沒有問題。 – Quentin
它將默認構造函數node()
定義爲空函數{}
。
這是默認的構造函數。 – WhozCraig
帖子中的標題和帖子中的問題完全不同。你應該儘量重寫這個標題,以便它儘可能與核心問題直接相關。 –