При чтении реализации для std :: shared_ptr в llvm libc ++ я обнаружил, что некоторые функции членов __shared_weak_count вместо этого помещаются в libcxx/src/memory.cpp , быть помещенным в заголовок файл libcxx/include/__ memory/shared_ptr.h . Например, < /p>
Код: Выделить всё
// in libcxx/src/memory.cpp
__shared_weak_count::~__shared_weak_count();
void __shared_weak_count::__release_weak() noexcept;
< /code>
// in libcxx/include/__memory/shared_ptr.h
__shared_weak_count::__shared_weak_count();
long __shared_weak_count::use_count();
Мой вопрос: почему некоторые определения в стандартной реализации библиотеки Libc ++, такие как __shared_weak_count :: __ release_weak Перейдите в динамическую библиотеку, в то время как другие функции члена класса одного класса не делают. ?
Подробнее здесь:
https://stackoverflow.com/questions/794 ... to-dynamic