Re: help old VBasic programmer with simple file read , Please :)
On Jun 17, 7:27 am, Gennaro Prota <addr...@yahoo.com> wrote:
On Fri, 15 Jun 2007 09:12:52 -0000, James Kanze wrote:
Under Windows, I would consider <windows.h> an
implementation header, to be included using <...>, and not
"...". For that matter, I consider Sybase or Oracle part of my
"implementation", and include their headers using <...> as well,
and would do the same thing for many other third party librarys:
Boost especially, but also things like wxWidgets.
Do you really would use the <> form for Boost and wxWidgets, or was it
a typo?
It would really depend on the context, but most of the time, I
think, yes. Each application establishes its "implementation":
the compiler/versions, and the various libraries, etc. that it
uses. If Boost or wxWidgets is one of those libraries, then it
gets the <> form of include. And if it's not, I probably won't
be allowed to use it.
BTW, but I think you know already, a core issue was opened
about this
<http://www.open-std.org/JTC1/SC22/WG21/docs/cwg_defects.html#370>
(the DR was in effect born from a Boost list discussion)
I wasn't familiar with the DR, but I see one comment in it with
which I disagree with already: "Existing practice varies
widely". There are some variants, but in practice, I've never
seen nor heard of a compiler which didn't look for <...>
includes starting in the include path specified by the compiler
options.
Note that this in NOT covered by the standard. It's a quality
of implementation issue. As far as the standard is concerned,
there's not even a requirement to allow non-standard includes to
be anywhere but in the current directory, regardless of how they
are included. Whether you use "..." or <...> really doesn't
change much here, either from a standards point of view (it's
implementation defined) or from a practical one (the compiler
won't automatically look in the directory containing the source
file with "..."). It does make a difference with regards to the
message you are giving the reader: is this include part of the
application, or at least specific to the company, or is it part
of something he should more or less know from general C++
culture. If you see #include "abc.hh", you look in your
company's documentation to find out about it, if you see
<abc.hh>, you go to the Internet.
Note that the note added to the standard text pretty much agrees
with my position: "In general programmers should use the < >
form for headers provided with the implementation, and the " "
form for sources outside the control of the implementation."
With the note that I use a very broad definition of
"implementation"; it's what is furnished by outside sources.
--
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