407
рылатын жиымдардың сəйкес элементтер
жұбына қолданылған операция
нəтижесіне тең болады, мысалы:
template valarray
operator== (const valarray&, const valarray&);
template valarray
operator!= (const valarray&, const valarray&);
Егер операцияға қатысатын жиымдардың өлшемдері сəйкес келмесе,
нəтиже анықталмаған болып саналады.
Көмекші кластар
slice
(қима)
класы жиым элементт
ері индекстерінің ішкі жиынын
тағайындауға мүмкіндік береді:
class slice{
public:
slice();
slice(size_t start, size_t size, size_t stride);
size_t start() const; // бірінші элемент индексі
size_t size() const; // элементтер саны
stride() const; // қадам
};
Қадам – қиманың екі элементінің арасындағы қашықтық. Мысалы,
slice(3, 4, 2)
жиымның 3, 5, 7, 9 нөмірлі элементтерінен тұратын қиманы,
ал
slice(1, 3, 4)
жиымның 1, 5, 9 нөмірлі элементтерінен тұратын қиманы
береді.
Осылайша, жолды немес бағананы тағайындау арқылы қималар
көмегімен жиымды матрица ретінде бейнелеуге болады.
Енді осының алдындағы бөлімде сипатталған
valarray
жиымының
ішкі жиындарын индекстеу операциясына мысал келтіруге болады:
a[slice(1, 5, 3)] = b
операторы
b
жиымын
a
жиымының
қима арқылы
берілген элементтеріне ғана меншіктеуді орындайды.
Жиым элементтерінің ішкі жиынымен ыңғайлы жұмыс істеу үшін
slice_array
класының шаблоны енгізілген. Бұл кластың тəуелсіз объектілері
құрылмайды, оларға бағытталған барлық хабарласулар бастапқы жиымға
қайта адрестеледі:
Достарыңызбен бөлісу: