Каковы критерии, на которых следует определять, когда узел дерева должен быть структурой или классом?Когда должна быть древовидная структура class/struct?
ответ
Структуры обычно более легкие и считаются типами значений. Классы являются ссылочными типами.
Рассмотрим этот пост также: Which is best for data store Struct/Classes?
я хотел бы пойти на класс, потому что вы можете передать узел в качестве ссылки, но не на структуры, которые будут переданы в качестве копии оригинального
и вам потребуется много manupulation на узлах, поэтому передача их в качестве ссылки иногда приводит к повышению производительности.
и если вы храните много данных в своем узле, структура tahn не будет выбором.
Я не указываю, что более быстрые значения или типы ссылок, которые полностью зависят от сценариев.
Я тоже регулярно посещаю занятия. Я редко использую структуры. Но это просто личное предпочтение. –
При изменении дерева вам нужно как минимум 2 указателя/ссылки на одни и те же «данные», это сложно сделать с помощью структур, если вы явно не введете (конвертировать в объект).
- 1. Древовидная структура
- 2. Обратное древовидная структура
- 3. Руль: рекурсивная древовидная структура
- 4. Сохранение древовидная структура
- 5. d3js - анимированная древовидная структура
- 6. «Сортировка» древовидная структура данных
- 7. древовидная структура данных (level_order)
- 8. SQL Древовидная структура родительского ребенка
- 9. DefaultMutableTreeNode встроенная древовидная структура
- 10. Древовидная структура расширения развала?
- 11. Struts2 checkbox древовидная структура?
- 12. Мигрирующая древовидная структура графита
- 13. Древовидная структура в application.properties
- 14. MySQL - Рекурсивная древовидная структура
- 15. Структурная древовидная структура Entity Framework
- 16. древовидная структура в виде файла
- 17. Что такое древовидная структура кучи?
- 18. Древовидная структура с 5 филиалами
- 19. Какова должна быть структура виртуальной среды?
- 20. Почему структура должна быть в штучной упаковке?
- 21. Какова должна быть структура каталогов сервера node.js?
- 22. Как должна быть моя структура корневой папки?
- 23. Как должна быть создана файловая структура Django?
- 24. PHP Структура массива должна быть изменена
- 25. Как я могу узнать, когда древовидная структура закончила загрузку?
- 26. d3 js расширяемая и сворачивающаяся древовидная структура
- 27. Модульного тестирование простых древовидная структура манипуляция
- 28. Когда функция должна быть эффективной?
- 29. Когда функция должна быть вызвана?
- 30. Когда ссылка должна быть атомарной?
Термин «легкий вес» в этом контексте немного вводит в заблуждение. Поскольку структуры всегда копируются при передаче, большие структуры могут быть «тяжеловесными». В .NET вы почти всегда хотите использовать класс, если вы не выполняете P/Invoke, или у вас есть редкий случай, когда вам нужен настраиваемый тип значения. –
См. Мой комментарий к saurabh. –