c++ - 如何查看c++中小于运算符的函数定义

标签 c++ function definition

在c++98中,小于运算符的函数头似乎是

template <class T> struct less : binary_function <T,T,bool> {
  bool operator() (const T& x, const T& y) const {return x<y;}
}

我在哪里可以查看小于运算符的函数定义?我在网上找到的所有引用资料都详细解释了该功能,但没有提供实际定义。

在类里面,我目前正在重载小于操作符来处理我自己的对象,虽然我的代码是完整的,但它似乎过于复杂。我希望原来的 less than 可以提供一些关于更简单方法的见解。

最佳答案

In c++98 the function header of the less than operator seems to be ...

您似乎已经显示了 std::less 的定义.它是一个比较两个对象的模板函数对象。

Where can I view the function definition for the less than operator?

这取决于用于实例化 std::less 的类型参数模板。如果T是基本类型,那么小于运算符根本就不是一个函数,而是一个内置运算符。因此,没有函数定义。

如果T是用户定义的类型(类),则小于运算符解析为运算符重载,这是一个函数。与函数的所有定义一样,您可以在源代码中找到它们。正则表达式 operator\s<可能有用。

关于c++ - 如何查看c++中小于运算符的函数定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47159553/

相关文章:

c++ - 在没有安装 Visual Studio 的情况下编译 Visual Studio 项目?

list - 在haskell的新函数中使用过滤列表

c++ - 成员函数定义

c - C (GCC) 中数据类型的定义

c++ - 是否可以使用未定义为 const 的工厂方法来定义 const 成员?

c++ - HackerRank 的数组操作背后使用的逻辑

c++ - 在 MFC 应用程序中创建和使用 Dll

class - 为什么 ifelse 将 data.frame 转换为列表 : ifelse(TRUE, data.frame(1), 0)) != data.frame(1)?

c++ - 一个 'friend of a Class' 的函数允许 'read access' 到它的 'private members' 但不是 'write access' ?

c - 位声明 - 对 'variable' 的 undefined reference