looking at the code on this page
It deleted only when you call delete on it. If you want it to be deleted automatically, use std::unique_ptr or std::shared_ptr
so why when i run this code, i don't get any error??
Not sure if I understand your question
when i run the code on this page, i don't get any error. why is that?? since i haven't delete/freed the memory, shouldn't i get an error??
> shouldn't i get an error you might if you use a memory sanitizer or valgrind. C++ doesn't track the memory so it cannot warn you about that.
but the compiler tracks it, right??
Compiler doesn't track objects created with new, it is responsibility of the programmer.
so, that's why cpp has a bad rep regarding pointers. So i should delete them manually
you should not use naked news in your code in the first place
Обсуждают сегодня