Можно ли использовать кастинг в качестве «нарезки массива» в C ++ 11?C++

Программы на C++. Форум разработчиков
Anonymous
Можно ли использовать кастинг в качестве «нарезки массива» в C ++ 11?

Сообщение Anonymous »

У меня есть общая память, населенная специализированным оборудованием. Это объявлен как массив структур, например: < /p>

Код: Выделить всё

struct port {
int data[10];
char port_id[8];
}

struct bus {
port ports[5];
char bus_id[8];
}

struct bus busses[10];
Я (повторный) изучал C ++, и хотел использовать C ++ 11 для цикла для итерации по данным.

Код: Выделить всё

data[10]
), я забочусь только о первых четырех элементах. Есть ли способ взять кусочек данных и использовать его в операторе for ()?for (auto & b : busses) {
for (auto & p : bus.ports) {
for (auto & d : port.data[0 through 3]) {
store_the_address_of_d_for_use_elsewhere(d);
}
}
}
< /code>
Есть ли способ использовать актерский состав в Instermost для цикла, чтобы он выглядел так, как будто есть только четыре элемента? Адрес данных важен, потому что я собираюсь обратиться непосредственно к нему позже, используя указатели.

Подробнее здесь: https://stackoverflow.com/questions/404 ... ing-in-c11

Вернуться в «C++»