Path: csiph.com!x330-a1.tempe.blueboxinc.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!news.linkpendium.com!news.linkpendium.com!panix!panix.com!mrbrklyn From: Ruben Safir Newsgroups: comp.lang.c++ Subject: Re: Anonymous namespace Date: Sat, 4 Jun 2011 02:40:16 +0000 (UTC) Organization: PANIX Public Access Internet and UNIX, NYC Lines: 28 Message-ID: References: <94rjavFbjiU7@mid.individual.net> NNTP-Posting-Host: panix2.panix.com X-Trace: reader1.panix.com 1307155216 11543 166.84.1.2 (4 Jun 2011 02:40:16 GMT) X-Complaints-To: abuse@panix.com NNTP-Posting-Date: Sat, 4 Jun 2011 02:40:16 +0000 (UTC) User-Agent: tin/1.8.3-20070201 ("Scotasay") (UNIX) (NetBSD/5.1 (i386)) Xref: x330-a1.tempe.blueboxinc.net comp.lang.c++:6163 Ian Collins wrote: > On 06/ 3/11 06:29 PM, ruben safir wrote: >> On 06/02/2011 10:54 PM, Stefan Ram wrote: >>>>> What is the point of the anonymous namespace. >>> Names can be hidden from the linker (from other translation >>> units), even if they should have external linkage. >> >> please expand? > > One way to look at the anonymous namespace is to consider it a namespace > with a cryptic name. That name is only known within the current > compilation unit. Thus anything declared within the namespace can't > been seen elsewhere because the namespace name is unknown. > > So I could write > > namespace { int n; } > > and n would only be visible within the current compilation unit whereas > > int n; > > would be globally visible. > so the annonymous name space must be in the same file as main? Ruben