Originally Posted by
anduril462
Ahh, but if your struct has pointers to objects, theoretically deep copy has to make a copy of what is pointed to as well, not just the address of what the source struct pointed to. That's what makes it so deep. Again, like your iterator pattern, you will probably need to write a deep copy for each of your structs and use some sort of function pointer stuff to implement a generic interface.
Can I ask why you're trying to turn C into C++? C is not and never was intended to do OO stuff. You can hack some of it in there, but it's not really well built for that.