Как известно, невозможно иметь standard collection of references. Также невозможно скопировать объект потока.Как создать коллекцию объектов потока
Но что, если я хочу создать коллекцию (скажем, std::vector
) объектов потока или ссылок на объект потока?
Я знаю, что могу обернуть ссылку на объект потока, например. структуру, но тогда вам нужно либо реализовать полный интерфейс (если вы хотите использовать оболочку непосредственно как поток, который я бы предпочел), либо использовать общедоступную функцию getter и использовать ее везде, чтобы получить фактический поток.
Есть ли более простой способ? Решения C++ 11 в порядке.
Почему бы не использовать набор указателей? – riv
Или набор интеллектуальных указателей, если необходимо их автоматически уничтожить? – nob
Как насчет коллекции 'std :: reference_wrapper'? –
juanchopanza