Я создал собственный класс для реализации std :: vector.
У моего класса есть поддержка итератора в прямом направлении. Я хотел бы знать, как я могу реализовать метод vector.insert, который позволяет мне вставлять элемент в любую позицию внутри вектора.
Я не могу использовать распределитель, но я хотел бы знать, можно ли использовать метод вставки с помощью итераторов и, если возможно, как это можно сделать?Как реализовать векторный метод vector.insert для моего пользовательского класса векторов?
-4
A
ответ
0
Чтобы реализовать insert
, вам необходимо переместить/скопировать все элементы после точки вставки одного элемента (возможно, выделяя новую память и перемещая все элементы, если ваше внутреннее хранилище недостаточно велико), затем вставьте новый элемент в «отверстие», вы только что сделали.
Обратите внимание, что это (конечно) аннулирует существующие итераторы.
Смежные вопросы
- 1. деконструктор для пользовательского класса векторов
- 2. Реализовать touchhesBegan для пользовательского класса
- 3. Реализовать функцию iteritems для моего пользовательского итератора?
- 4. Метод перегрузки для пользовательского класса
- 5. метод Анализировать для пользовательского класса C#
- 6. Как использовать std :: vector.insert()?
- 7. реализовать статический метод класса
- 8. Android: получил java.lang.NoClassDefFoundError для моего пользовательского класса
- 9. Generic Breeze Векторный метод
- 10. Как реализовать метод класса для передачи данных из пользовательского приложения во внутреннее хранилище класса
- 11. Как реализовать итератор или генератор для моего класса Delegate?
- 12. Как реализовать метод deleteValues (int values) для пользовательского ArrayList?
- 13. Как наследовать от моего пользовательского класса
- 14. Невозможно динамически создать экземпляр моего пользовательского класса
- 15. Создать векторный элемент из элементов других векторов
- 16. Как создать собственный метод расширения для пользовательского класса?
- 17. Пространственный эффективный векторный распределитель C++ для больших векторов?
- 18. Как реализовать инкрементный код для последовательного обновления моего класса селектора
- 19. Как реализовать __cmp __() и __hash __() для моего класса?
- 20. Как реализовать конструктор с встроенной инициализацией для пользовательского класса карты?
- 21. Как реализовать векторный вектор поддержки в R
- 22. Как реализовать метод выхода из другого класса?
- 23. Bind Dialog Процедура как метод для пользовательского класса
- 24. Вызова статического метод пользовательского класса
- 25. Проблема с vector.insert()
- 26. Как использовать метод redirect_to внутри пользовательского класса
- 27. Как написать метод addElement для пользовательского класса модели, расширяющего AbstractTableModel?
- 28. Где я должен реализовать метод класса?
- 29. Реализовать сортировку как метод класса в Ruby
- 30. Как реализовать метод didSelectRow класса pickerView?
Что означает «пользовательский класс для реализации« std :: vector »? Вы не должны извлекаться из 'std :: vector'. –
Это означает, что я создал класс, который выполняет те же действия, что и std :: vector. – user7337963
Почему вы не используете 'std :: vector <>' вместо того, чтобы писать свой собственный? –