Commit 6e5945d5 authored by Писарев Василий Вячеславович's avatar Писарев Василий Вячеславович
Browse files

Add new file

parent b5e2a408
No related merge requests found
Showing with 25 additions and 0 deletions
+25 -0
# Типы для векторов и матриц
Массивы сделаны на базе `shared_ptr<T[]>` (требует компилятор с поддержкой C++17).
Массивы можно копировать, передавать по значению и т.п. Данные будут при этом передаваться по указателю (семантика примерно как в массивах Python)
`vec<T>` - вектор с типом элементов `T`.
Конструктор:
`vec<T>(int n)` - вектор длины `n`, инициализированный нулями.
Методы
`vect.length()` - размер вектора
`T* vect.raw_ptr()` - прямой указатель на данные
`vect(i)` - $i$-й элемент (0-based) в `vect.raw_ptr()`
`matrix<T>` - матрица с типом элементов `T`.
Конструктор:
`matrix<T>(int nr, int nc)` - матрица с `nr` строками и `nc` столбцами, инициализированная нулями.
Методы:
`matr.length()` - число элементов в матрице
`matr.nrows()` - число строк в матрице
`matr.ncols()` - число столбцов в матрице
`T* matr.raw_ptr()` - прямой указатель на данные
`matr(r, c)` - элемент в $r$-й строке и $c$-м столбце (0-based)
`matr(i)` - $i$-й элемент (0-based) в `matr.raw_ptr()`. `matr(r, c) = matr(r * ncols + c)`
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment