Здравствуйте, B0FEE664, Вы писали:
BFE>Что такое "проблема перекрёстных ссылок"?
BFE>class Node
BFE>{
BFE>public:
BFE> Node(const std::string& sNameOfNode); // C-tor
BFE> ~Node(); // D-tor
BFE> std::string GetNameOfNode() const;
BFE> const std::vector<SubNode>& GetVectOfChilds() const;
BFE> void AddNode(SubNode p);
BFE>private:
BFE> std::vector<SubNode> m_SubNodes; // Здесь ссылаемся на объект типа SubNode
BFE>};
BFE>class SubNode // Интерфейс узла:
BFE>{
BFE>public:
BFE> std::string GetNameOfNode() const { return m_node->GetNameOfNode(); }
BFE> const std::vector<SubNode>& GetVectOfChilds() const { return m_node->GetNameOfNode(); }
BFE> void AddNode(SubNode node) { return m_node->AddNode(node); }
BFE>public:
BFE> std::shared_ptr<Node> m_node; // Здесь ссылаемся на объект типа Node
BFE>};
BFE>
Вот отсюда и
_проблема_перекрёстных_ссылок_
AG>так и для тестирования основы нашего проекта.
BFE>Про связь с тестированием я не понял.
AG>Вот насчёт тестов:
AG>https://chromium.googlesource.com/external/github.com/google/googletest/+/refs/tags/release-1.8.0/googlemock/docs/ForDummies.md
AG>https://chromium.googlesource.com/external/github.com/google/googletest/+/refs/tags/release-1.8.0/googlemock/docs/FrequentlyAskedQuestions.md#how-am-i-supposed-to-make-sense-of-these-horrible-template-errors
BFE>И где конкретно у них написано, что продакшен код надо замедлять, чтобы проще было писать тесты?
Кто и где предлагал замедлять продакшн код? Что есть фактор замедления?
P.S. Если ты предполагаешь, что вызов через таблицу виртуальных функций
(vtable) вносит замедление,
то для аппаратуры последних 15 лет это уже не актуально.