Re: Question about data strcutures
DervishD <[email protected]> Thu, 24 Jun 2004 10:26:20 +0200
| Newsgroups | gmane.comp.audio.mad.user |
|---|---|
| Organization | Pleyades |
| Message-ID | <20040624082620.GB31642@DervishD> |
Hi Deven :) * Deven Phillips <[email protected]> dixit: > 1. The majority of cleanup functions are just #define'd stubs and > actually do nothing. Well, that's because Rob is a good designer ;) Currently those functions are not needed, but in a future implementation they may be needed. This way the API is not broken if cleanup functions are needed in the future. It is, IMHO, a good thing to do. > 2. Why aren't the data structures typedef'd for easier use? Well, that's a matter of taste, I'm afraid. I don't know why Rob has them that way, but I prefer not to typedef structures. In C the structures are special and there are things that you cannot do with them, so typedef'ing them is generally not a good idea. It just saves you from 'typing' the word "struct", and that can be done with any good editor. And, IMHO, doesn't improve readability, in fact I think it does exactly the opposite. BUT, if you are talking about pointers, that's another issue. I think that typedef'ing pointers to structures to hid the detail that they are structures is a good point to improve encapsulation. As I told in a previous message, all pointers share representation, so there is no point in having something like 'struct mad_header * whatever' when you can simply have something like 'MAD_HEADER *'. It is just an object, you cannot dereference it (unless the structure is defined in a header file, which is the case of 'struct mad_header'). > Just curious, and perhaps you can all provide me with a reaonable > explanation that will make me more comfortable with it. I hope the explanation above is reasonable :) Anyway is Rob who should give an explanation, since the above views are entirely mine and may not be the same as Rob's ones ;) Happy coding :) Raúl Núñez de Arenas Coronado -- Linux Registered User 88736 http://www.pleyades.net & http://raul.pleyades.net/