Существует ли класс или структура Point (точка) в stl или её аналог?
Как таковой нет.
Если вам нужна точка на плоскости - вы можете использовать структуру pair<>
, но она недостаточно удобна (поля - first
и second
, а не x
и y
).
Можно использовать тот же array
с фиксированным количеством элементов.
Но проще всего - написать
struct Point {
double x, y;
};
и не мучиться :)
"Точка" — это понятие, которое зависит от предметной области. В математике будет точка координатами double, обычно с двумя или тремя компонентами, но в общем случае число произвольное, причём название компонент может быть разным из-за различных систем координат. В контролах Windows будет точка с двумя координатами int, в каких-то случаях int16_t. В играх наибольшее применение найдут точки с координатами float. В консоли точкой будет пара unsigned int. И это мы ещё не рассматриваем сопутствующие классы, например, вектора и матрицы, и доступные операции между ними.
Как можно видеть, точки могут быть очень разнообразными. В связи с этим вносить в STL класс точки достаточно нецелесообразно: придётся плодить десятки классов с различными типами, именами и количеством компонент, а их применимость будет весьма ограничена из-за отсутствия взаимодействия с классами, которые гармонично сочетаются с классом точки.
Класс точки можно найти в библиотеках, более близких к предметным областям, например, для математических рассчётов, для элементов управления, для движков игр. Используйте их.
Если у вас что-то своё, то не составит труда написать собственный тривиальный класс точки — это две строчки кода.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть некоторый генератор, который выдает значенияЕго интерфейс описывается тремя функциями:
Как получить HWND окна при наведении на него курсора мыши С++ WinApi32 или Qt?
Например строковый литерал: "Hello, world!" не может стоять слева от оператора присваиванияТогда, как он может являться леводопустимым выражением?
Есть менюНужно, чтобы при нажатии на любой из пунктов меню - он подчеркивался черной линией