用户定义文字的别名,即“使用NS :: operator“” _suffix“和另一个名称

时间:2019-04-01 16:38:18

标签: c++ user-defined-literals using-declaration

考虑某些库定义的内容:

namespace NS {
    constexpr atype operator ""_suffix(const char*, std::size_t);
};

如果我不喜欢_suffix这个名字(也许与其他库冲突,或者与我的命名约定形成鲜明对比):我可以“重命名”操作符吗?

using _myalias = NS::operator ""_suffix`;  // syntax error
using _myalias = NS::""_suffix`;  // syntax error
using _myalias = NS::_suffix`;  // undefined (`operator ""` is part of its name)

constexpr decltype(auto) operator ""_myalias(const char *str, std::size_t len)
{
    return NS::operator ""_suffix(str, len);  // very verbose, but it works
}

那么,是否有一种简单的语法为用户定义的文字定义别名?

0 个答案:

没有答案