标签:title his provided lang cal note efi rms err
Here’s a generic version of the same code:
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:
items
, which is initialized with an empty array of values of type Element
push(_:)
method has a single parameter called item
, which must be of type Element
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
标签:title his provided lang cal note efi rms err
原文地址:https://www.cnblogs.com/feng9exe/p/9757568.html