Я искал код форсированной кучи Фибоначчи, и во многих местах я видел переменную под названием _id
типа ID
(часть шаблона) используется следующим образом:get(_id, d)
, где d
имеет тип T&
, где T
является частью шаблона. Какова цель этого и что будет эквивалентно только стандартным библиотекам c ++ по умолчанию.
Вот код для кучи Фибоначчи:
void push(const T& d) {
++_n;
size_type v = get(_id, d);
_key[v] = d;
_p[v] = nil();
_degree[v] = 0;
_mark[v] = false;
_child[v] = nil();
if (_root == nil()) {
_root = _left[v] = _right[v] = v;
//std::cout << "root added" << std::endl;
} else {
size_type u = _left[_root];
_left[v] = u;
_right[v] = _root;
_left[_root] = _right[u] = v;
if (_compare(d, _key[_root]))
_root = v;
//std::cout << "non-root node added" << std::endl;
}
}
Задача ещё не решена.
Других решений пока нет …