gpt4 book ai didi

c++ - 为什么 std::binary_function<...> 没有 operator() 方法?

转载 作者:太空宇宙 更新时间:2023-11-04 14:48:21 24 4
gpt4 key购买 nike

我注意到 std::binary_function<...> is only a struct with typedefs .在链接中,它特别指出:

binary_function does not define operator(); it is expected that derived classes will define this.

这对我来说似乎很荒谬。如果您可以在根本没有函数的情况下继承或实例化该类(或结构),那么该类(或结构)有什么意义呢?还是语义与我看来的不同?

最佳答案

请记住,C++11 已弃用并且 C++17 删除了 binary_function

binary_function 只是一个帮助程序,用于创建(现在也已弃用)函数适配器使用的 typedef,例如不是 2。请记住,在 autodecltype 可用之前,很难或不可能推断出这些类型,因此必须手动提供它们。另外,定义 operator() 有什么意义?不可能有一个可能的实现,让它成为纯虚拟将是一个显着的性能消耗。

关于c++ - 为什么 std::binary_function<...> 没有 operator() 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28299581/

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