Free functions versus member functions
Jari-Matti Mäkelä
jmjmak at utu.fi.invalid
Thu Oct 11 13:36:55 PDT 2007
Bill Baxter wrote:
> Another difference is that in C++ you have to *explicitly* say you want
> to bring members of a namespace into your current namespace with a
> "using" directive.
>
> In contrast, D's imports throw all the symbols into the local namespace
> by default. You have to do something extra to prevent it ("static
> import" instead of import).
I haven't been using C++ lately, but isn't 'using namespace' similar to D
import - it imports all symbols from the namespace. Explicit syntax is
nameSpace::symbol IIRC.
> "Using" is also a nice tool for manipulating visibility of namespaces.
> D doesn't have anything quite like it. You can say at the function
> level for instance "using SomeNamespace" and then you can use things
> from that namespace unqualified, but just to the end of that function.
> There's also a renamed using -- something like "using SNS =
> SomeNamespace;" I think.
Well isn't this what has been proposed for D already, i.e. imports inside
non-module level scopes.
More information about the Digitalmars-d
mailing list