Нет, будет несколько важных отличий:
- Вы получите утечку памяти каждый раз, когда у вас есть циклическая ссылка.Сборщик мусора может обрабатывать циклы, подсчет ссылок не может.
- Вы бы избежали любых остановок или пауз, потому что сборка мусора никогда не происходит.С другой стороны, вы, скорее всего, потратите больше общего процессорного времени на очистку ресурсов, потому что амортизируемая стоимость случайной сборки мусора довольно низкая, и пересчет может быть относительно дорогим, если вы делаете это на всем.
Очевидно, первым делом является убийца.Если вы сделаете это, многие из ваших ресурсов не будут освобождены, и вы потеряете память, и ваше приложение просто не будет работать очень хорошо.
Какая конструкция C ++ выдаст эквивалентное поведение по сравнению свстроенный в gc язык?
Нет.C ++ не имеет сборщика мусора, потому что нет способа реализовать правильный, надежный.(Да, я знаю GC от Boehm, и это хорошее приближение, но оно консервативно и не обнаруживает все ссылки, только те, в которых он может быть уверен на 100%. В обычной программе на C ++ нет никакой возможности, чтобы реализовать сборщик мусора, который Just Works (tm))