Rango (programación informática)

En programación informática , rango sin más especificaciones suele ser sinónimo de (o hacer referencia a) "número de dimensiones"; así, una matriz bidimensional tiene rango dos , una matriz tridimensional tiene rango tres , y así sucesivamente. Estrictamente, no se puede proporcionar una definición formal que se aplique a todos los lenguajes de programación , ya que cada uno de ellos tiene sus propios conceptos, semántica y terminología; el término puede incluso no ser aplicable o, por el contrario, aplicarse con un significado muy específico en el contexto de un lenguaje determinado.

En el caso de APL, la noción se aplica a cada operando; y las díadas ("funciones binarias") tienen un rango izquierdo y un rango derecho .

El cuadro a continuación, en cambio, muestra cómo se podrían definir el rango de un tipo y el rango de una expresión de matriz (en un estilo semiformal) para C++ e ilustra una forma sencilla de calcularlos en tiempo de compilación.

#include <type_traits> #include <cstddef> /* Rango de un tipo * ------------- * * Sea el rango de un tipo T el número de sus dimensiones si * es una matriz; cero en caso contrario (que es la convención habitual) */ template < typename T > struct rank { static const std :: size_t value = 0 ; };             plantilla < typename T , std :: size_t N > struct rank < T [ N ] > { static const std :: size_t valor = 1 + rank < T >:: valor ; };            plantilla < typename T > constexpr auto rank_v = rank < T >:: valor ;      /* Rango de una expresión * * Sea el rango de una expresión el rango de su tipo */plantilla < typename T > usando unqualified_t = std :: remove_cv_t < std :: remove_reference_t < T >> ;      plantilla < typename T > auto rankof ( T && expr ) { return rank_v < unqualified_t < T >> ; }      

Dado el código anterior, el rango de un tipo T se puede calcular en tiempo de compilación mediante

rango < T >:: valor

o la forma más corta

rango_v < T >

El cálculo del rango de una expresión se puede realizar utilizando

rango de ( expr )

Véase también


Obtenido de "https://es.wikipedia.org/w/index.php?title=Rango_(programación_informática)&oldid=1056141209"