c++ - What's the best "type renaming" method? -
if wanted rename std::string type simpler , more naturally looking string, of these 2 methods should use (based on performance , standard)
should rename preprocessed directive
#define string std::string or type definition
typedef std::string string; what's performant method? more familiar , recognized community?
just
using std::string; if want different name, e.g.
using string = std::string; avoid macros, don't respect scopes , evil™.
for example, proposed macro
#define string std::string … yields formal undefined behavior if include standard library header, because defines name used standard library.
c++11 §17.6.4.2.2/1 [macro.names]:” translation unit includes standard library header shall not
#defineor#undefnames declared in standard library header.