Должен ли ARG_TYPE для CArray быть постоянным или нет - PullRequest
0 голосов
/ 10 ноября 2010

В чем разница между этими двумя строками

CArray<MyClass, MyClass> MyArray

CArray<MyClass, const MyClass & > MyArray  

Ответы [ 2 ]

1 голос
/ 10 ноября 2010

MyClass всегда копируется в массив.Но первая форма копирует ее дважды: первый раз, когда она передается в качестве параметра функции Add или SetAt, второй раз внутри.Со второй формой вы избегаете первой копии.

1 голос
/ 10 ноября 2010

В первом случае вам нужно иметь доступный конструктор копирования в MyClass, и MyClass будет передаваться по значению (копироваться) в некоторые члены CArray (например, CArray::Add).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...