[問題] 關於_one與_zero

看板EE_DSnP作者 (tears and rain)時間17年前 (2007/01/04 23:31), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
抱歉打擾了 我有的問題是 在BddManager的constructor中 會call到init()然後會跑過這兩行 BddNode::_one = BddNode(BddNodeInt::_terminal, BDD_POS_EDGE); BddNode::_zero = BddNode(BddNodeInt::_terminal, BDD_NEG_EDGE); 但_one一開始_nodeV是空的 所以=的overload中相對應的BddNodeInt的_refcount是不是就不用--了呢? 此外在test.cpp中 我想辦法cout了_one與_zero這兩個static的data member 結果為 zero: [0](+) 0x9d13cc0 ==> Total #BddNodes : 1 one: [0](+) 0x9d13cc0 ==> Total #BddNodes : 1 可是 BddNode的constructor不是 BddNode::BddNode(BddNodeInt* n, BDD_EDGE_FLAG f) { assert(n != 0); _nodeV = size_t(n) + f; n->incRefCount(); } 且BddNode::print是 BddNode::print(ostream& os, size_t indent, size_t& nNodes) const { for (size_t i = 0; i < indent; ++i) os << ' '; BddNodeInt* n = getBddNodeInt(); os << '[' << getLevel() << "](" << (isNegEdge()? '-' : '+') << ") "; ... 可是cout的結果_zero與_one的Edge都是(+) 不是應該是一個(+)一個(-)才對嗎 觀念不知道沒有想錯otz -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.241.149 ※ 編輯: scxz 來自: 140.112.241.149 (01/04 23:57)
文章代碼(AID): #15dHtLz9 (EE_DSnP)
討論串 (同標題文章)
文章代碼(AID): #15dHtLz9 (EE_DSnP)