Skip site navigation (1)Skip section navigation (2)
Date:      01 Feb 2005 14:39:58 -0500
From:      Lowell Gilbert <freebsd-questions-local@be-well.ilk.org>
To:        Charles Swiger <cswiger@mac.com>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Unix equivalent of a variant??
Message-ID:  <443bwgm5m9.fsf@be-well.ilk.org>
In-Reply-To: <62f97b906f93154c70f01d754d50083c@mac.com>
References:  <20050201164337.GA78979@dogma.freebsd-uk.eu.org> <62f97b906f93154c70f01d754d50083c@mac.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Charles Swiger <cswiger@mac.com> writes:

> On Feb 1, 2005, at 11:43 AM, Jonathon McKitrick wrote:
> > I need the equivalent of a variant, however.  A hold-everything
> > variable
> > that can be any type in C/C++.  Is there something already out there
> > I can
> > use or should I just roll my own?
> 
> Your question probably belongs on comp.lang.c, but the cannonical way
> of handling "data of any type" is a memory buffer and a (void *).
> Watch out for host data alignment restrictions.

Or depending on the intent, a union, which will get the compiler to
take care of alignment.

Generally, though, avoiding typechecking is a hack best avoided...


-- 
Lowell Gilbert, embedded/networking software engineer, Boston area
		http://be-well.ilk.org/~lowell/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?443bwgm5m9.fsf>