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