Сообщение Re[8]: бессмысленные интерфейсы от 21.02.2022 19:36
Изменено 21.02.2022 19:48 AlexGin
Re[8]: бессмысленные интерфейсы
Здравствуйте, B0FEE664, Вы писали:
BFE>Что такое "проблема перекрёстных ссылок"?
Вот отсюда и _проблема_перекрёстных_ссылок_![](/Forum/Images/frown.gif)
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>И где конкретно у них написано, что продакшен код надо замедлять, чтобы проще было писать тесты?
Кто и где предлагал замедлять продакшн код? Что есть фактор замедления?
![](/Forum/Images/confused.gif)
P.S. Если ты предполагаешь, что вызов через таблицу виртуальных функций (vtable) вносит замедление,
то для аппаратуры последних 15 лет это уже не актуально.
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>
Вот отсюда и _проблема_перекрёстных_ссылок_
![](/Forum/Images/frown.gif)
BFE>Вы это пытались компилировать? Зачем?
Вообще-то я и без копиляции увидел у тебя проблему перекрёстных ссылок.
Однако, на всякий случай, лишний раз убедился — что у тебя ошибка.
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>И где конкретно у них написано, что продакшен код надо замедлять, чтобы проще было писать тесты?
Кто и где предлагал замедлять продакшн код? Что есть фактор замедления?
![](/Forum/Images/confused.gif)
P.S. Если ты предполагаешь, что вызов через таблицу виртуальных функций (vtable) вносит замедление,
то для аппаратуры последних 15 лет это уже не актуально.
Re[8]: бессмысленные интерфейсы
Здравствуйте, B0FEE664, Вы писали:
BFE>Что такое "проблема перекрёстных ссылок"?
Вот отсюда и _проблема_перекрёстных_ссылок_![](/Forum/Images/frown.gif)
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>И где конкретно у них написано, что продакшен код надо замедлять, чтобы проще было писать тесты?
Кто и где предлагал замедлять продакшн код? Что есть фактор замедления?
![](/Forum/Images/confused.gif)
P.S. Если ты предполагаешь, что вызов через таблицу виртуальных функций (vtable) вносит замедление,
то для аппаратуры последних 15 лет это уже не актуально.
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>
Вот отсюда и _проблема_перекрёстных_ссылок_
![](/Forum/Images/frown.gif)
BFE>Вы это пытались компилировать? Зачем?
Вообще-то я и без копиляции увидел у тебя проблему перекрёстных ссылок.
Однако, на всякий случай, лишний раз убедился — что у тебя ошибка.
BFE>
BFE>#include <iostream>
BFE>#include <vector>
BFE>#include <memory>
BFE>#include <string>
BFE>class Node;
BFE>class SubNode // Интерфейс узла:
BFE>{
BFE>public:
BFE> inline std::string GetNameOfNode() const ;
BFE> inline const std::vector<SubNode>& GetVectOfChilds() const ;
BFE> inline void AddNode(SubNode node) ;
BFE>public:
BFE> std::shared_ptr<Node> m_node; // Здесь компилятор НЕ ЗНАЕТ размер объекта типа Node
// Ссылка или указатель на объект типа Node здесь прокатят, значение - НЕТ
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;
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>И где конкретно у них написано, что продакшен код надо замедлять, чтобы проще было писать тесты?
Кто и где предлагал замедлять продакшн код? Что есть фактор замедления?
![](/Forum/Images/confused.gif)
P.S. Если ты предполагаешь, что вызов через таблицу виртуальных функций (vtable) вносит замедление,
то для аппаратуры последних 15 лет это уже не актуально.