zoukankan      html  css  js  c++  java
  • 泛型术语:占位类型placeholder

    Here’s a generic version of the same code:

    1. struct Stack<Element> {
    2. var items = [Element]()
    3. mutating func push(_ item: Element) {
    4. items.append(item)
    5. }
    6. mutating func pop() -> Element {
    7. return items.removeLast()
    8. }
    9. }

    Note how the generic version of Stack is essentially the same as the nongeneric version, but with a type parameter called Element instead of an actual type of Int. This type parameter is written within a pair of angle brackets (<Element>) immediately after the structure’s name.

    Element defines a placeholder name for a type to be provided later. This future type can be referred to as Element anywhere within the structure’s definition. In this case, Element is used as a placeholder in three places:

    • To create a property called items, which is initialized with an empty array of values of type Element
    • To specify that the push(_:) method has a single parameter called item, which must be of type Element
    • To specify that the value returned by the pop() method will be a value of type Element

    https://docs.swift.org/swift-book/LanguageGuide/Generics.html

    Generic programming is a style of computer programming in which algorithms are written in terms of types to-be-specified-later that are then instantiated when needed for specific types provided as parameters.

    template<typename T>
    class List
    {
       /* class contents */
    };
    
    List<Animal> list_of_animals;
    List<Car> list_of_cars;
    

    Above, T is a placeholder for whatever type is specified when the list is created.

    https://en.wikipedia.org/wiki/Generic_programming

  • 相关阅读:
    nginx的一些
    索引
    liunx 里面安装phpstudy环境s
    Linux操作系统定时任务系统 Cron 入门
    Memcached的安装
    模拟php curl向远程服务器上传文件
    file_get_contens POST传值
    ab测试
    ASP.Net Core 3.1 发布错误 Error NU1605 解决方案
    Taker短信转发到HTTP POST接口的配置
  • 原文地址:https://www.cnblogs.com/feng9exe/p/9757568.html
Copyright © 2011-2022 走看看