Jaki byłby najlepszy sposób implementacji wyliczenia za pomocą wartości cyklicznych i odpowiednich funkcji do przejścia z wartości do drugiej?Implementacja wartości wyliczenia kołowego
Na przykład:
enum class Direction {
NORTH, EAST, SOUTH, WEST
};
constexpr Direction left(Direction d) {
return (Direction)((std::underlying_type<Directions>::type(d) - 1) % 4);
}
Jednak czuję, że jest podatny na błędy i ogólnie nieczytelne. Czy istnieje lepszy sposób radzenia sobie z tego typu wyliczeniami?
zaklęcie go jawnie z cztero- Oświadczenie switch case? To byłaby najbardziej czytelna opcja. – RichieHindle
Co, jeśli istnieją DUŻO więcej wartości? – Svalorzen
Bardziej czytelny dla mnie, jeśli zmienisz 'left' na' nextCounterclockwise' (lub może "nextCCW' w skrócie) :-D – deepmax