zoukankan      html  css  js  c++  java
  • 泛型之关键字default、where

    ①:default

          在泛型中,要为某个使用泛型的变量初始化值,可是我们需要考虑的是这个泛型可能是引用类型,也可能是值类型,这时我们可以借助default来完成初始化复制。T value = default(T);如果T是引用类型,value = null,如果是T是值类型,value = 0.

    ②:where

                                           约束                                                                  说明

                                    where T:struct                                     使用结构约束,类型T必须是值类型

                                    where T:calss                                       类约束指定,类型T必须是引用类型

                                    where T:IFoo                                            指定类型T必须执行结构IFoo

                                    where T:Foo                                            指定类型T必须派生于基类Foo

                                   where T:new()                                       指定类型T必须有一个默认构造函数 

                                     where T:U                                          类型T派生于泛型类型V(裸类型约束)

       (注:在CRL2.0中,只能为默认构造函数定义约束,不能为其他构造函数定义约束)

  • 相关阅读:
    hdu 1540 Tunnel Warfare 线段树 单点更新,查询区间长度,区间合并
    bzoj 1798: [Ahoi2009]Seq 维护序列seq 线段树 区间乘法区间加法 区间求和
    codevs 1191 树轴染色 线段树区间定值,求和
    vijos 1659 河蟹王国 线段树区间加、区间查询最大值
    tyvj:1038 忠诚 线段树 区间查询
    KL散度
    NumPy 从已有的数组创建数组
    NumPy 创建数组
    NumPy 数组属性
    NumPy 数据类型
  • 原文地址:https://www.cnblogs.com/wangyong/p/1654639.html
Copyright © 2011-2022 走看看