В реализации стандартной библиотеки C ++, почему какое -то определение помещается в динамическую библиотеку, такую ​​какC++

Программы на C++. Форум разработчиков
Anonymous
В реализации стандартной библиотеки C ++, почему какое -то определение помещается в динамическую библиотеку, такую ​​как

Сообщение Anonymous »

При чтении реализации для 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

Вернуться в «C++»