是否有可能限制文字运算符的范围?
我想定义一些后缀以使某些事情更容易指定,但这只与直接连接到特定类或其子类的事物有关。使用此类的其他代码的名称空间不应受此影响。
答案 0 :(得分:1)
使用命名空间。 wandbox example
namespace my_lits
{
int operator ""_aaa(const unsigned long long x)
{
return x + 1;
}
}
int main()
{
{
using namespace my_lits;
std::cout << 100_aaa << "\n";
}
{
// Will not compile!!!
std::cout << 100_aaa << "\n";
}
}
有没有办法让这个命名空间始终可见,然后在课堂上#39;范围?
无法将命名空间放入类中的范围。有关详细信息,请参阅this问题和this other one。