Uważam, że biblioteka C++ jest "elegancka", jeśli liczba plików nagłówkowych, które należy uwzględnić, jest jak najmniejsza.Czy istnieje elegancka implementacja przydziału o stałej wielkości w C++?
Wiem, że istnieją istniejące alokatory o stałej wielkości, takie jak Loki::SmallObjectAllocator
i boost::pool
. Chociaż oba są doskonałe, uważam, że nie są eleganckie i niełatwo je zintegrować z projektami.
Najczęściej potrzebuję niewielkiej części biblioteki boost, ale muszę zainstalować całą bibliotekę na moim komputerze. Na przykład, jeśli chcę użyć boost :: pool, mam nadzieję, że po prostu dołączę ONE plik nagłówkowy boost_pool.h
, a praca zostanie zakończona. Ponieważ myślę, że alokator o stałej wielkości nie powinien być tak zależny od zbyt wielu innych komponentów. Moim zdaniem idealny kod powinien wyglądać następująco:
#include <boost_pool.h>
int main()
{
boost::pool<int> p;
int* v = p.allocate();
}
Czy istnieje taka biblioteka?
Czy obejrzałeś [bcp] (http://www.boost.org/doc/libs/1_52_0/tools/bcp/doc/html/index.html)? Nie jest to dokładnie to samo, ale można go łatwo wykorzystać jako punkt wyjścia do umieszczenia wszystkiego w jednym nagłówku. –
"Mam nadzieję, że dołączę JEDEN plik nagłówkowy' boost_pool.h' "- więc raz wykonaj pracę i umieść tam wszystkie powiązane rzeczy? Poważnie. – Xeo
Dzięki. Oglądałem właśnie bcp, ale stwierdziłem, że nie jest jeszcze łatwy w użyciu. Myślę, że wzrost ma zbyt wiele niepotrzebnych zależności. – xmllmx