Skip to content
GitLab
Explore
Projects
Groups
Topics
Snippets
Projects
Groups
Topics
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Писарев Василий Вячеславович
Введение в суперкомпьютерное моделирование
Commits
6e5945d5
Commit
6e5945d5
authored
3 years ago
by
Писарев Василий Вячеславович
Browse files
Options
Download
Patches
Plain Diff
Add new file
parent
b5e2a408
master
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
vectors_and_matrices/README.md
+25
-0
vectors_and_matrices/README.md
with
25 additions
and
0 deletions
+25
-0
vectors_and_matrices/README.md
0 → 100644
+
25
−
0
View file @
6e5945d5
# Типы для векторов и матриц
Массивы сделаны на базе
`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)`
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment
Menu
Explore
Projects
Groups
Topics
Snippets