Whandall:
What differences besides the standard visibility of objects do you see in C++ between struct and class?
One thing that comes to mind is I don't think you can 'malloc(sizeof(settings_type))' when the struct / class contains a method. You have to 'new' it.
sterretje:
The simplest way to compare two structs for an exact match would be a memcmp.
That probably won't have the desired effect if one of the struct's members is a pointer since you'd be interested in the value being pointed to, not its address.