gpt4 book ai didi

c++ - 运算符""在 C++ 中有什么作用?

转载 作者:行者123 更新时间:2023-12-01 13:44:24 25 4
gpt4 key购买 nike

你怎么称呼这个接线员?
除了创建自定义文字之外,您可以将它用于其他用途吗?
用法示例: (见 cppreference)

constexpr long double operator"" _deg ( long double deg )
{
return deg * 3.14159265358979323846264L / 180;
}

最佳答案

这个的主要用法operator""是创建用户定义的文字。来自 reference :

Allows integer, floating-point, character, and string literals to produce objects of user-defined type by defining a user-defined suffix.



您可以像调用任何其他重载运算符一样调用此运算符:
std::cout << 42.5_deg;                // with convenient operator syntax
std::cout << operator"" _deg(42.5); // with an explicit call
并非完全不相关:正如对您的问题的评论所指出的那样,这个例子的名字很糟糕。它接受度数并返回弧度,所以它应该被命名为 operator"" _rads . UDL 的目的是提供方便、易于阅读的语法,以及一个关于它所做的事情的函数,它积极地破坏了这一点。

您可以使用此运算符进行几乎任何您想要的计算(对类型和传入参数的数量进行限制,类似于其他运算符),例如:
constexpr long double operator"" _plus_one ( long double n )
{
return n + 1;
}
尽管此运算符的用法仍与上述相同。
这是一个 demo .

关于c++ - 运算符""在 C++ 中有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63375208/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com