Hodnost (počítačové programování) - Rank (computer programming)
![]() | tento článek ne uvést žádný Zdroje.Prosince 2009) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
v programování, hodnost bez dalších specifikací je obvykle synonymem pro (nebo odkazuje na) „počet rozměrů“; tedy dvourozměrné pole má hodnost dva, má trojrozměrné pole hodnost tři Přísně nelze poskytnout žádnou formální definici, která by platila pro všechny programovací jazyk, protože každý z nich má své vlastní koncepty, sémantika a terminologie; tento výraz nemusí být ani použitelný, nebo se naopak může v kontextu daného jazyka používat s velmi konkrétním významem.
V případě APL pojem se vztahuje na každého operanda; a dyády ("binární funkce") mají a levá pozice a a správná pozice.
Pole níže ukazuje, jak hodnost typu a hodnost výrazu pole lze definovat (v semi-formálním stylu) pro C ++ a ilustruje jednoduchý způsob, jak je vypočítat v době kompilace.
#zahrnout <type_traits>#zahrnout <cstddef> / * Pořadí typu * ------------- * * Nechť hodnost typu T je počet jeho rozměrů, pokud * je to pole; jinak nula (což je obvyklá konvence) */šablona <typename T> struktur hodnost{ statický konst std::size_t hodnota = 0;};šablona<typename T, std::size_t N>struktur hodnost<T[N]>{ statický konst std::size_t hodnota = 1 + hodnost<T>::hodnota;};šablona <typename T>constexpr auto pořadí_v = hodnost<T>::hodnota;/ * Pořadí výrazu * * Nechť hodnost výrazu je hodnost jeho typu */šablona <typename T>použitím unqualified_t = std::remove_cv_t<std::remove_reference_t<T>>; šablona <typename T>auto rankof(T&& expr){ vrátit se pořadí_v<unqualified_t<T>>;}
Vzhledem k výše uvedenému kódu lze hodnost typu T vypočítat v době kompilace pomocí
hodnost<T>::hodnota
nebo kratší forma
pořadí_v<T>
Výpočet pořadí výrazu lze provést pomocí
rankof(expr)
Viz také
- Pořadí (lineární algebra), pro definici hodnost jak je aplikováno na matice
- Pořadí (programovací jazyk J), koncept stejného jména v J programovací jazyk
![]() | Tento programovací jazyk související článek je a pahýl. Wikipedii můžete pomoci pomocí rozšiřovat to. |