Witam.
Moje pytanie dotyczy sposobu i zasadności używania size_type w sytuacjach kiedy zależy nam na czytelności kodu.
Przykładowo - dany jest wektor struktur i drugi wektor, którego elementy są indeksami pierwszego. Czy poniższy zapis:
struct Test {
std::vector<std::vector<Item>::size_type> selectedItems;
};
Test test;
// ...
for (std::vector<std::vector<Item>::size_type>::size_type i=0; i < test.selectedItems.size(); ++i) {
//...
}
jest poprawny/elegancki/stosowany w praktyce? Czy może lepszym zwyczajem jest definiowanie typu przez typedef na przykład w oddzielnym pliku nagłówkowym albo ograniczenie się do typu int lub unsigned int? Bo przy definicji w oddzielnym pliku nie widać od razu z czym mamy do czynienia, chyba że nadamy jakąś długą nazwę, co znów zmniejszy czytelność. Chodzi mi głównie o to jakie są "dobre praktyki" w takich przypadkach jak podany powyżej.