Конструкции или контейнеры STL?

Какой подход лучше использовать в C ++ для создания типа House,

struct Coord {
double latitude;
double longitude;
};
struct House {
string number; // example: 17A
vector<Coord> coordinates;
bool isCompletelyStraight;
};

или же

using Latitude = double;
using Longitude = double;
using Coord = pair<Latitude, Longitude>;
using Number = string; // example: 17A
using IsCompletelelyStraight = bool;
using House = tuple<Number, vector<Coord>, IsCompletelelyStraight>;

?

-2

Решение

Первый подход намного проще поддерживать, поэтому я всегда буду за этим. Второй подход подобен использованию шаблонов, когда вам на самом деле это не нужно.

Пара не очень хорошая идея, потому что вы должны использовать их какcoordinates[i].first, coordinates[i].second' в то время как более чисто просто иметь структуру Coord и получить доступ к элементу вектора как coordinates[i].latitude, coordinates[i].longitude

Как насчет чего-то вроде этого:

using Latitude = double;
using Longitude = double;

struct Coord
{
Latitude latitude;
Longitude longitude;
};

using CoordsContainer = vector<Coord>;

struct House {
string number; // example: 17A
CoordsContainer coordinates;
bool isCompletelyStraight;
};
4

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector