Можно ли использовать кастинг в качестве «нарезки массива» в 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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