순위(컴퓨터 프로그래밍)
Rank (computer programming)컴퓨터 프로그래밍에서, 더 이상의 규격이 없는 순위는 보통 "차원의 수"와 동의어다. 따라서, 2차원 배열은 2위, 3차원 배열은 3위 등을 갖는다.엄밀히 말하면, 모든 프로그래밍 언어에 적용되는 공식적인 정의는 제공될 수 없다. 각 언어에는 고유한 개념, 의미론 및 용어가 있기 때문이다. 용어는 심지어 해당되지 않을 수도 있고, 반대로 주어진 언어의 맥락에서 매우 구체적인 의미를 가지고 적용될 수도 있다.
APL의 경우, 이 개념은 모든 피연산자에게 적용되며, 다이애드("이진 함수")는 왼쪽 순위 및 오른쪽 순위를 가진다.
대신 아래 상자는 C++에 대해 배열 식의 유형과 순위를 어떻게 정의할 수 있는지(반형식 스타일로) 보여주고 컴파일 시간에 계산하는 간단한 방법을 보여준다.
#include <타입_입력> #include <cstddef> /* 유형 순위 * ------------- * * T형식의 순위는 다음의 경우 치수의 개수로 한다. * 배열이며, 그렇지 않으면 0(일반적인 관례) */ 템플릿. <타이프 이름 T> 구조상의 등수를 매기다 { 정태의 경시하다 찌꺼기::size_t 가치를 매기다 = 0; }; 템플릿.<타이프 이름 T, 찌꺼기::size_t N> 구조상의 등수를 매기다<T[N]> { 정태의 경시하다 찌꺼기::size_t 가치를 매기다 = 1 + 등수를 매기다<T>::가치를 매기다; }; 템플릿. <타이프 이름 T> 경구적 자동차로 랭크_v = 등수를 매기다<T>::가치를 매기다; /* 표현식의 순위 * * 표현식의 순위를 유형으로 한다. */ 템플릿. <타이프 이름 T> 사용. 자격이 없는_t = 찌꺼기::remove_buffer_t<찌꺼기::remove_reference_t<T>>; 템플릿. <타이프 이름 T> 자동차로 의(T&& 생략하다) { 돌아오다 랭크_v<자격이 없는_t<T>>; }
T형식의 순위보다 높은 코드는 컴파일 시간에 다음과 같이 계산할 수 있다.
등수를 매기다<T>::가치를 매기다
또는 더 짧은 형태
랭크_v<T>
식의 순위 계산은 다음을 사용하여 수행할 수 있다.
의(생략하다)
참고 항목
- 행렬(선형 대수), 행렬에 적용되는 순위의 정의
- J프로그래밍 언어에서 동명의 개념인 랭크(J프로그래밍 언어)