I've always liked Python's
import big_honkin_name as bhn
so you can then just use bhn.thing
rather than the considerably more verbose big_honkin_name.thing
in your source.
I've seen two type of namespace use in C++ code, either:
using namespace big_honkin_name; // includes fn().
int a = fn (27);
(which I'm assured is a bad thing) or:
int a = big_honkin_name::fn (27);
Is there a way to get Python functionality in C++ code, something like:
alias namespace big_honkin_name as bhn;
int a = bhn::fn (27);
namespace bhn = big_honkin_name;
There's another way to use namespaces too:
using big_honkin_name::fn;
int a = fn(27);
StackOverflow to the rescue! Yes you can. In short:
namespace bhn = big_honkin_name;
It is easy..
namespace bhn = big_honkin_name;
You can use
using big_honkin_name::fn;
to import all functions named fn
from the namespace big_honkin_name
, so that you can then write
int a = fn(27);
But that doesn't let you shrink down the name itself. To do (something similar to but not exactly) that, you could do as follows:
int big_honkin_object_name;
You can later use:
int& x(big_honkin_object_name);
And thereafter treat x
the same as you would big_honkin_object_name
. The compiler will in most cases eliminate the implied indirection.
using namespace big_honkin_name;
Is not a bad thing. Not at all. Used judiciously, bringing namespaces into scope improves clarity of code by removing unnecessary clutter.
(Unless it's in a header file in which case it's very poor practice.)
But yes, as others have pointed out you can create a namespace alias:
namespace big = big_honkin_name;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With