Rango (programación informática)

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

En programación informática, rango sin más especificaciones suele ser sinónimo de (o se refiere a) "número de dimensiones"; por lo tanto, 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 una lengua determinada.

Did you mean:

In the case of APL the notion applies to every operand; and dyads ("binary functions#34;) have a left rank and a right rank.

En cambio, el cuadro siguiente 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 solución simple. forma de calcularlos en tiempo de compilación.

#include ■type_traits#include ▪cstddef /* Rancho de un tipo ------------- * * Que el rango de un tipo T sea el número de sus dimensiones si * es un array; cero de lo contrario (que es la convención habitual) */plantilla .nombre T struct rango{} estática const std::size_t valor = 0;};plantilla.nombre T, std::size_t Nstruct rango.T[N]{} estática const std::size_t valor = 1 + rango.T- No.valor;};plantilla .nombre Tconstexpr auto rank_v = rango.T- No.valor;/* Rancho de expresión * * Que el rango de expresión sea el rango de su tipo */plantilla .nombre Tutilizando unqualified_t = std::remove_cv_t.std::remove_reference_t.T>; plantilla .nombre Tauto clasificación()T" expreso){} retorno rank_v.unqualified_t.T>;}

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

rango.T- No.valor

o la forma más corta

rank_v.T

Se puede calcular el rango de una expresión usando

clasificación()expreso)

Contenido relacionado

Conectado

Conectado puede referirse...

LBA

LBA o lba pueden referirse...

SOY

IAM puede referirse...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save