- 主题:operator op 为啥不能直接与函数划等号
操作符 op 重载之后,operator op 行为像函数;但是未重载之前,却不是。
比如基本数据之间,直接写 operator < (2, 3),编译器就不认得;
最后还要搞一个函数对象 std::less,不知道为啥要这么设计?
--
FROM 27.115.42.*
莫名的想起 haskell
【 在 easior 的大作中提到: 】
: 操作符 op 重载之后,operator op 行为像函数;但是未重载之前,却不是。
: 比如基本数据之间,直接写 operator < (2, 3),编译器就不认得;
: 最后还要搞一个函数对象 std::less,不知道为啥要这么设计?
: ...................
--
FROM 114.249.194.*
函数式编程,只闻其名,未见其形
【 在 milksea (肥了,又肥了 >>>_<<<) 的大作中提到: 】
: 莫名的想起 haskell
--
FROM 115.239.231.*
你的例子Haskell的写法是
Prelude> 3 < 4
True
Prelude> (<) 3 4
True
【 在 easior (潜行) 的大作中提到: 】
: 函数式编程,只闻其名,未见其形
--
FROM 103.90.178.*
哦,怪不得
可惜,这种新的编程范式已经没力气学了
【 在 ArchLinux (a lightweight and flexible distribution) 的大作中提到: 】
: 你的例子Haskell的写法是
: Prelude> 3 < 4
: True
: ...................
--
FROM 115.239.231.*
函数对象跟函数本身不是一回事啊。
C函数的形式在面向对象里用起来很不方便的。
【 在 easior 的大作中提到: 】
: 操作符 op 重载之后,operator op 行为像函数;但是未重载之前,却不是。
: 比如基本数据之间,直接写 operator < (2, 3),编译器就不认得;
: 最后还要搞一个函数对象 std::less,不知道为啥要这么设计?
--
FROM 76.126.252.*
详细点?
【 在 here080 的大作中提到: 】
: 函数对象跟函数本身不是一回事啊。
: C函数的形式在面向对象里用起来很不方便的。
: --
发自「今日水木 on MRX-W29」
--
FROM 42.234.92.*
函数指针作为函数的默认参数的时候,
std::function<bool (int, int)> comp=std::less<int>()
可行,但
bool (*comp)(int, int)=std::less<int>()
行不通
【 在 txgx (纸上谈医) 的大作中提到: 】
: 详细点?
: 发自「今日水木 on MRX-W29」
--
修改:easior FROM 115.239.231.*
FROM 115.239.231.*