Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Emulating public and private in C structs

Name: Anonymous 2010-06-15 11:30

Consider:
foo.h:
struct Foo {
        int public_1;
        int public_2;
}
struct Foo * create_Foo ();
void bar_Foo (struct Foo*);
/* etc */

foo.c:
#include "foo.h"
struct Foo_private {
        struct Foo foo; /* ??? */
        int private_1;
        int private_2;
}
struct Foo * create_Foo (void) {
        return malloc (sizeof(Foo_private));
}
void bar_Foo (struct Foo *foo) {
        Foo_private *foo_p = (Foo_private*) foo; /* ??? */
        /* do whatever with foo_p->private_1 and foo_p->private_2 */
}

Is there anything wrong with this? I'm dubious about the lines commented with ???. I don't want to write getters and setters for the 'public' stuff.

Name: Anonymous 2010-06-17 21:51

>>46
There. Happy now?
No, because it seems to have fuck-all to do with private variables anymore. Remember, that's what the discussion was about?

this is why we have modern memory protection, among many other things, to prevent a badly behaved or malicious program from taking down the OS.
You really don't have a clue, do you? Enjoy your ENTERPRISE SECURITY SOLUTION, if you must, but please promise me you'll never, ever get into language design or implementation.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List