Могут, а могут и по int в ребрах и вершинах хранить. А еще могут быть миллионы маленьких графов. Экономить я в итоге не стал, о чем в статье и написано, но порассуждать никогда не бывает лишним
unique_ptr в Vertice использовать нельзя, тк на ребро может ссылаться 2 вершины, значит нужно использовать shared_ptr, это как минимум дополнительный расход на переменную для подсчета ссылок. Я предпочел сэкономить. Логика класса очень простая, получить утечку памяти нереально В breadthPassCommon использование unique_ptr действительно позволило бы избавиться от явного delete, но владение все равно пришлось бы отслеживать, только вместо visitotPassed пришлось бы отслеживать пустой unique_ptr или нет. Но в целом да, стало бы, пожалуй чуть аккуратнее. Про range loop не понял
Information
Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Могут, а могут и по int в ребрах и вершинах хранить. А еще могут быть миллионы маленьких графов. Экономить я в итоге не стал, о чем в статье и написано, но порассуждать никогда не бывает лишним
unique_ptr в Vertice использовать нельзя, тк на ребро может ссылаться 2 вершины, значит нужно использовать shared_ptr, это как минимум дополнительный расход на переменную для подсчета ссылок. Я предпочел сэкономить. Логика класса очень простая, получить утечку памяти нереально
В breadthPassCommon использование unique_ptr действительно позволило бы избавиться от явного delete, но владение все равно пришлось бы отслеживать, только вместо visitotPassed пришлось бы отслеживать пустой unique_ptr или нет. Но в целом да, стало бы, пожалуй чуть аккуратнее.
Про range loop не понял