Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c++ > #14644
| From | Victor Bazarov <v.bazarov@comcast.invalid> |
|---|---|
| Newsgroups | comp.lang.c++ |
| Subject | Re: #include and namespaces |
| Date | 2012-03-01 07:54 -0500 |
| Organization | A noiseless patient Spider |
| Message-ID | <jinri9$cet$1@dont-email.me> (permalink) |
| References | <8266241.1084.1330590876018.JavaMail.geo-discussion-forums@vblb5> |
On 3/1/2012 3:34 AM, Luca Cerone wrote:
> I've a header mylib.h
> that contains the line
>
> using namespace std ; // before the declaration of my namespace
> //and functions.
That's A BAD IDEA(tm).
Do not put 'using' directives in headers.
> I put this because I'm declaring several functions that use vectors
> and strings and I'd like not to write std:: in front of every of such types.
In this particular case the convenience of not having to type 'std::' is
trumped by the problems your 'using' directive creates. So, don't do that.
> Everything works fine, but there is a small issue:
> when I include the header in my main.cpp
> it is like if I've written
> using namespace std ;
> in the preamble.
It's not "like if". You did write that. You included that specific
text by writing <<#include "mylib.h">> in your 'main.cpp'.
> For the std it is no big deal, but for my custom namespaces it is.
>
> So how can I use the namespace in mylib.h
You have to understand one *very important* thing here. "mylib.h" is
just text you're going to inject into other modules by means of the
preprocessor "#include" directive. You don't "use the namespace" in
'mylib.h' because you don't compile 'mylib.h' separately. If you "use"
anything in that header, you use that anything anywhere your header
happens to be #include'd.
> and its implementation mylib.cpp,
Write
using namespace std;
in 'mylib.cpp' _only_.
> but not in the main.cpp? (unless explicitely declared of course).
V
--
I do not respond to top-posted replies, please don't ask
Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
#include and namespaces Luca Cerone <luca.cerone@gmail.com> - 2012-03-01 00:34 -0800
Re: #include and namespaces Victor Bazarov <v.bazarov@comcast.invalid> - 2012-03-01 07:54 -0500
Re: #include and namespaces Luca Cerone <luca.cerone@gmail.com> - 2012-03-01 06:38 -0800
Re: #include and namespaces Victor Bazarov <v.bazarov@comcast.invalid> - 2012-03-01 14:26 -0500
Re: #include and namespaces Luca Cerone <luca.cerone@gmail.com> - 2012-03-02 00:47 -0800
Re: #include and namespaces yatremblay@bel1lin202.(none) (Yannick Tremblay) - 2012-03-01 17:38 +0000
Re: #include and namespaces Gareth Owen <gwowen@gmail.com> - 2012-03-01 18:07 +0000
Re: #include and namespaces yatremblay@bel1lin202.(none) (Yannick Tremblay) - 2012-03-01 18:52 +0000
Re: #include and namespaces Paavo Helde <myfirstname@osa.pri.ee> - 2012-03-01 15:13 -0600
Re: #include and namespaces "Alf P. Steinbach" <alf.p.steinbach+usenet@gmail.com> - 2012-03-01 19:07 +0100
Re: #include and namespaces yatremblay@bel1lin202.(none) (Yannick Tremblay) - 2012-03-02 08:02 +0000
Re: #include and namespaces "Alf P. Steinbach" <alf.p.steinbach+usenet@gmail.com> - 2012-03-02 11:12 +0100
Re: #include and namespaces Anand Hariharan <mailto.anand.hariharan@gmail.com> - 2012-03-01 11:20 -0800
Re: #include and namespaces Victor Bazarov <v.bazarov@comcast.invalid> - 2012-03-01 14:30 -0500
Re: #include and namespaces "Alf P. Steinbach" <alf.p.steinbach+usenet@gmail.com> - 2012-03-01 20:53 +0100
Re: #include and namespaces Miles Bader <miles@gnu.org> - 2012-03-02 09:51 +0900
Re: #include and namespaces Daniel <danielaparker@gmail.com> - 2012-03-02 05:13 -0800
Re: #include and namespaces Miles Bader <miles@gnu.org> - 2012-03-02 22:59 +0900
Re: #include and namespaces Daniel <danielaparker@gmail.com> - 2012-03-02 10:31 -0800
Re: #include and namespaces Miles Bader <miles@gnu.org> - 2012-03-03 10:54 +0900
Re: #include and namespaces "Alf P. Steinbach" <alf.p.steinbach+usenet@gmail.com> - 2012-03-03 08:53 +0100
Re: #include and namespaces Juha Nieminen <nospam@thanks.invalid> - 2012-03-02 18:37 +0000
Re: #include and namespaces Luca Cerone <luca.cerone@gmail.com> - 2012-03-03 04:22 -0800
csiph-web