Is there anything that can be done about looong symbols that need to be referenced in header files, e.g. ABDEFGHIJ::ZXCBVB::AWEDADSDEM::GFGBKGDF::Tools::Item
? I know in header files you aren't supposed to using using
because it messes up anybody who includes it.
The only working feature that cleans up after itself that I can even think of would be #define
+#undef
but that seems terrible.
Is there a new feature that solves this that I'm not aware of? I'm also interested in any popular proposals. Maybe using
with a bracketed block syntax, to let me restrict the effect to just my header...?
It's not good practice to have a using namespace
using directive at global scope in a header file. There are a number of less drastic things you can do that are fairly benign however.
std::map<std::string, std::vector<std::function<float(float)>>>
auto
keyword can greatly reduce the need to name long types in headers, whether function return types, local variables or parameters to lambdas.decltype
can also be useful to avoid saying the names of long types in certain situations.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