Как можно передать массив из десяти объектов класса? - C (СИ)
Формулировка задачи:
class A { A() {} public: A(int x) {} } A *ptr = ?
Решение задачи: «Как можно передать массив из десяти объектов класса?»
textual
Листинг программы
std::vector<A> a(10, A(123)); A* ptr = &a[0]; // Вуаля.
Объяснение кода листинга программы
- Создается вектор из 10 объектов класса A с инициализацией по умолчанию (A(123)).
- Указатель ptr инициализируется адресом первого элемента вектора a.
- Теперь ptr содержит адрес первого элемента вектора a и может использоваться для доступа к объектам класса A в цикле.