🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.std.c++
Article #600

::Foo()

#600
From: Gary L. Randolph
Date: Wed, 21 Nov 1990 15:25
36 lines
1673 bytes

This is a proposal for a language addition to C++. It provides users a
way to initialize the internal pointers (virtual function table, and
virtual base class pointers), in a way that does not depend on the
implementation of the language constructs, or on a particular
compiler's formatting of the object.


Need for the feature:

We are storing objects to disk.  When we read them back into memory, we need
an implementation independent way of restoring any internal structure built
by the C++ compiler/runtime mechanisms, without altering any user data.


Proposed language syntax:

We suggest that the desired behavior is that already supplied by the default
void constructor, and overloaded "new" operator:

	new (someAddr) Foo();

In fact, this is how we have implemented our persistent object store's
ability to reestablish the C++ internal structure.  Unfortunately, this
removes the void constructor from application use.  We would like to
obtain the same behavior even if the programmer has redefined the default
constructor, and propose the following syntax:

	new (someAddr) ::Foo();

This is very analogous to the usage of "::new" when the programmer has
overriden the standard "new" operator.

Gary Randolph
Eastman Kodak Company
Technical Details
Message-ID: <1990Nov21.152532.5147@ssd.kodak.com>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rutgers!rochester!kodak!ispd-newsserver!tuna!randolph

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rutgers!rochester!kodak!ispd-newsserver!tuna!randolph
From: randolph@ssd.kodak.com (Gary L. Randolph)
Newsgroups: comp.std.c++
Subject: ::Foo()
Message-ID: <1990Nov21.152532.5147@ssd.kodak.com>
Date: 21 Nov 90 15:25:32 GMT
Sender: news@ssd.kodak.com
Distribution: usa
Organization: Eastman Kodak
Lines: 36
Originator: randolph@tuna