Przeprowadzam migrację mojego projektu do C++ 11 i próbuję użyć jak najwięcej biblioteki standardowej, jak to tylko możliwe.'Typedef' dla funkcji szablonu (boost :: make_shared)
Zanim sfinalizuję migrację, potrzebuję szybkiego sposobu na przełączanie między zwiększeniem i implementacją STL shared_ptr
(w celu wykonania testów porównawczych, testów jednostkowych itp.).
Więc zdefiniowany alias shared_ptr
jak ten:
#ifdef _USE_BOOST_
template <class C>
using shared_ptr = boost::shared_ptr<C>
#else
template <class C>
using shared_ptr = std::shared_ptr<C>
#endif
teraz muszę zrobić to samo dla make_shared
... Ale jak? Makro? Owijarka? Naprawdę nie lubię żadnego z nich. Jakie są alternatywy?
Nie masz wielkiego wyboru, ale napisać krótki opakowanie. – Puppy