登录
首页 >  Golang >  Go问答

C++、Java 的泛型有约束吗,类似 Golang 的那种?

来源:SegmentFault

时间:2023-02-17 15:46:22 245浏览 收藏

本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《C++、Java 的泛型有约束吗,类似 Golang 的那种?》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~

问题内容

Golang 的泛型如下所示

func SumIntsOrFloats[K comparable, V int64 | float64](m map[K]V) V {
    var s V
    for _, v := range m {
        s += v
    }
    return s
}

其中 K 后面的 comparable,V 后面的 int64 | float64 就是约束

正确答案

c++20引入了concept,见:
https://en.cppreference.com/w...
https://zhuanlan.zhihu.com/p/...
20之前的话,用enable_if、void_t等工具控制选择的特化模板即可。

好了,本文到此结束,带大家了解了《C++、Java 的泛型有约束吗,类似 Golang 的那种?》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>