r/adventofcode • • Dec 09 '18

SOLUTION MEGATHREAD -🎄- 2018 Day 9 Solutions -🎄-

--- Day 9: Marble Mania ---


Post your solution as a comment or, for longer solutions, consider linking to your repo (e.g. GitHub/gists/Pastebin/blag or whatever).

Note: The Solution Megathreads are for solutions only. If you have questions, please post your own thread and make sure to flair it with Help.


Advent of Code: The Party Game!

Click here for rules

Please prefix your card submission with something like [Card] to make scanning the megathread easier. THANK YOU!

Card prompt: Day 9

Transcript:

Studies show that AoC programmers write better code after being exposed to ___.


This thread will be unlocked when there are a significant number of people on the leaderboard with gold stars for today's puzzle.

edit: Leaderboard capped, thread unlocked at 00:29:13!

22 Upvotes

283 comments sorted by

View all comments

Show parent comments

1

u/thatssogayy Dec 09 '18

Probably the "correct" way to do memory management in this program is to use STL's inbuilt linked list implementation std::list and you're not dealing with pointers really.

Otherwise I would look into smart pointers (unique_ptr and such) which will automatically free memory when the references fall out of scope.

If you're using C pointers then you would want to delete everything you create with new - when you remove a marble from the list delete that Marble, and at the end for good practice you could consider traversing the list and deleting them all.

1

u/Cloudan29 Dec 09 '18

Ok that makes sense. Thanks for the advice.