Ключевое слово C++ 'new' и управление памятью не обязательно с помощью 'new'
Привет,
Просто быстрый вопрос об управлении памятью, скажем, у меня есть следующее:
const std::vector<int> intArray = {1, 2, 3}; delete intArray;Это должно выделить память для массива, а затем снова освободить ее.
Как это работает в данной ситуации?
doSomething({1, 2, 3}); void doSomething(const std::vector<int> arr) { // whatever }Здесь нет никакой возможности удалить исходный массив. Что из нижеследующего я должен сделать?
1. ничего, что память уже будет управляться.
2.
const std::vector<int> arr = {1, 2, 3}; doSomething(arr); delete arr; void doSomething(const std::vector<int> arr) { // whatever }
3.
const std::vector<int>* arr = {1, 2, 3}; doSomething(arr); void doSomething(const std::vector<int>& arr) { delete arr; }
Я также не уверен, что синтаксис для 1 и 2 верен, пожалуйста, сообщите мне о любых проблемах, которые вы там видите.
Что я уже пробовал:
------------------------------------------------------------------------------