Re: doing C++ the Java way
On 8 mar, 07:18, Greg Herlihy <gre...@mac.com> wrote:
On Mar 7, 7:55 pm, dave_mikes...@fastmail.fm wrote:
On Mar 7, 7:20 pm, Carmen Sei <fatwallet...@yahoo.com> wrote:
Can i write the C++ prototype using only Java equivalent features?
I only use Class objects, static variable, single inheritance
(extends), new+free()/delete(), #define
First, don't use free with new, use delete.
To be more "Java-like" I would not use delete either, but
instead rely on shared_ptr's to manage allocated pointers.
shared_ptr aren't very Java-like. To be more Java-like, he
could install a garbage collector. But C++ with garbage
collection isn't really very Java-like either (and you do need
someone who really knows what they're doing to configure the
garbage collector for your environment).
In his case, since it's a prototype, the simplest solution is
probably just to use raw pointers, call delete when it's obvious
when delete needs to be called, and let the application leak a
bit.
And what is the Java
equivalent of #define?
Pretty much the same as it is in C++. In both C++ and Java, a
(non- macro) #define would be replaced by a const variable
declaration - while a #define that creates a preprocessor
macro would be rewritten as a - in the C++ case, an inline -
function.
And a #define which plays games with program structure doesn't
have an equivalent in Java. Going from Java to C++, he can
pretty much ignore #define to begin with, except for include
guards.
--
James Kanze (GABI Software) email:james.kanze@gmail.com
Conseils en informatique orient=E9e objet/
Beratung in objektorientierter Datenverarbeitung
9 place S=E9mard, 78210 St.-Cyr-l'=C9cole, France, +33 (0)1 30 23 00 34