Использование delete для указателей, переданных в качестве аргументов функции
Это нормально (и законно), чтобы удалить указатель, который был передан в качестве аргумента функции, например:
#include<iostream>
class test_class{
public:
test_class():h(9){}
int h;
~test_class(){std::cout<<"deleted";}
};
void delete_test(test_class* pointer_2){
delete pointer_2;
}
int main(){
test_class* pointer_1;
while(true){
pointer_1 = new test_class;
//std::cout<<pointer_1->h;
delete_test(pointer_1);
}
}
Теперь все отлично, но я просто хочу убедиться, что так будет всегда.