Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c++ > #14667

Re: #include and namespaces

From Miles Bader <miles@gnu.org>
Newsgroups comp.lang.c++
Subject Re: #include and namespaces
Date 2012-03-02 09:51 +0900
Message-ID <87d38v4ygx.fsf@catnip.gol.com> (permalink)
References <8266241.1084.1330590876018.JavaMail.geo-discussion-forums@vblb5> <a75a3f81-aaf4-46e8-8d17-f53c505ae8e1@s7g2000yqm.googlegroups.com> <jioioq$ts9$1@dont-email.me> <jiok36$77m$1@dont-email.me>

Show all headers | View raw


"Alf P. Steinbach" <alf.p.steinbach+usenet@gmail.com> writes:
> I would be wary of "using namespace std;" even in a custom namespace,
> because anyone "using yourCustomNamespace;" could then get in
> trouble.

Couldn't C++ anonymous namespaces solve this?

e.g.

   #include <string>

   namespace {
     using namespace std;

     namespace my_wacky_namespace {
       string my_crazy_fun ();
     }
   }

   using namespace my_wacky_namespace;

   int string = 3;

   std::string test ()
   {
     return my_crazy_fun ();
   }

... compiles fine.

[I'm not entirely sure I really understand how anonymous namespaces
work, but they seem to do the right thing here ...]

-Miles

-- 
Custard, n. A vile concoction produced by a malevolent conspiracy of the hen,
the cow, and the cook.

Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


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