|
Boost : |
From: Eric Woodruff (Eric.Woodruff_at_[hidden])
Date: 2002-08-27 14:25:31
True, but I fail to see how co-dependent headers is ever the correct way to
implement something.
----- Original Message -----
From: David Bergman
Newsgroups: gmane.comp.lib.boost.devel
Sent: Tuesday, 2002:August:27 15:15
Subject: RE: #ifndef paradigm
Eric,
What about a mutually recursive system, w.r.t. prepocessor file
inclusion? I.e, what about
code1.hpp:
#include "code2.hpp"
class code1 {
public:
code1(code2* other) {}
private:
int var;
};
code2.hpp:
#include "code1.hpp"
class code2 {
public:
code2() { };
private:
int var;
};
???
You need to #define the token before entering this mutually recursive
system...
/David
-----Original Message-----
From: boost-bounces_at_[hidden]
[mailto:boost-bounces_at_[hidden]] On Behalf Of Eric Woodruff
Sent: Tuesday, August 27, 2002 2:59 PM
To: boost
Subject: [boost] #ifndef paradigm
Often, when one wants to make sure a header is included only once, s/he
uses the paradigm:
#ifndef HEADER_NAME_H__
#define HEADER_NAME_H__
// code here...
#endif // HEADER_NAME_H__ -- this comment is to make it clear what the
endif is for
It is better to remove the duality of the comment at the end, by
switching to this paradigm:
#ifndef HEADER_NAME_H__
// code here...
#define HEADER_NAME_H__
#endif
When maintiaining a file -- renaming it -- with the comment, one has to
make sure the comment is also updated. This alternative removes the
comment because it is superfluous, and the compiler will help you if you
forget to change the #define at the end.
_______________________________________________
Unsubscribe & other changes:
http://lists.boost.org/mailman/listinfo.cgi/boost
_______________________________________________
Unsubscribe & other changes:
http://lists.boost.org/mailman/listinfo.cgi/boost
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk