Вы уже получили несколько предложений о том, как атаковать вашу проблему напрямую. Тем не менее, я бы порекомендовал на секунду отступить, чтобы подумать, чего вы здесь добиваетесь. Прежде всего, вы сказали, что только действительно хотите name
член каждого элемента stModelDetails
. Исходя из этого, я бы начал с изменения функции, чтобы она возвращала только следующее:
QList<QString> GetModelDetailNames();
или, вполне возможно:
QVector<QString> GetModelDetailNames();
У первого есть пара хороших моментов. Во-первых, это уменьшает объем данных, которые необходимо скопировать. Во-вторых, он не позволяет клиентскому коду знать больше деталей реализации CClass1. Последний сохраняет эти преимущества и добавляет несколько своих, в первую очередь избегая накладных расходов связанного списка в ситуации, когда вы не указали ни одной причины, по которой вы хотите использовать связанный список ( и такие причины действительно довольно необычны).
Альтернатива этому состоит в том, чтобы выяснить, почему внешнему коду необходим доступ к такой большой части внутренних данных CClass1, и не имеет ли смысла для CClass1 предоставлять эту услугу напрямую, а не к внешнему коду, необходимому для доступа к его данным. 1015 *