Udostępnij za pośrednictwem


Typ wektora

Wektor to typ danych, który zawiera od jednego do czterech składników skalarnych. Każdy składnik wektora musi być tego samego typu.

Deklaracja typu

Zmienne wektorowe można zadeklarować przy użyciu typu skalarnego nazwy zawartości wektora z liczbą składników, które zawiera:

TypeComponents Name

Gdzie Type jest typem skalarnym poszczególnych składników, Components jest stałym wyrażeniem całkowitym z zakresu od 1 do 4 włącznie wskazującym liczbę składników i Name jest ciągiem ASCII, który jednoznacznie identyfikuje nazwę zmiennej.

Przykłady:

int     iScalar;     // integer scalar
int1    iVector = 1; // vector containing one integer
float3  fVector = { 0.2f, 0.3f, 0.4f }; // vector containing three floats

Deklaracja stylu szablonu

Składnia deklaracji alternatywnej używa słowa kluczowego vector i argumentów szablonu do wskazywania typu skalarnego i liczby składników:

vector <Type=float, Components=4> Name

Gdzie ponownie Type jest typem skalarnym każdego ze składników, Components jest liczbą całkowitą z zakresu od 1 do 4 włącznie wskazującą liczbę składników, ale są one określone w nawiasach kątowych w stylu szablonu. Name to ciąg ASCII, który jednoznacznie identyfikuje nazwę zmiennej,

Należy pamiętać, że wartości domyślne parametru szablonu umożliwiają określenie 4-składnikowych wektorów danego typu przez pozostawienie ostatniego parametru lub 4-składnikowych wektorów zmiennoprzecinkowych przez pozostawienie obu.

Oto kilka przykładów:

vector <int,    1> iVector = 1;
vector <double, 4> dVector = { 0.2f, 0.3f, 0.4f, 0.5f };
vector <float16_t> hVector = { 0.1f, 0.2f, 0.3f, 0.4f };     // Defaults to 4-component float16 vector
vector             fVector = { -0.4f, -0.3f, -0.2f, -0.1f }; // Defaults to 4-component float vector

Zobacz też

typy danych (DirectX HLSL)