Pointers
Dynamic Allocation
new creates an object dynamically, and delete releases it.
Dynamic Allocation
dynamic_allocation.cpp
#include <iostream>
int main() {
int start = ;
int step = ;
int* number = new int(start);
*number += step;
std::cout << "value=" << *number << std::endl;
delete number;
number = nullptr;
std::cout << "released=" << (number == nullptr) << std::endl;
return 0;
}
#include <iostream>
int main() {
int start = ;
int step = ;
int* number = new int(start);
*number += step;
std::cout << "value=" << *number << std::endl;
delete number;
number = nullptr;
std::cout << "released=" << (number == nullptr) << std::endl;
return 0;
}
#include <iostream>
int main() {
int start = ;
int step = ;
int* number = new int(start);
*number += step;
std::cout << "value=" << *number << std::endl;
delete number;
number = nullptr;
std::cout << "released=" << (number == nullptr) << std::endl;
return 0;
}
#include <iostream>
int main() {
int start = ;
int step = ;
int* number = new int(start);
*number += step;
std::cout << "value=" << *number << std::endl;
delete number;
number = nullptr;
std::cout << "released=" << (number == nullptr) << std::endl;
return 0;
}
#include <iostream>
int main() {
int start = ;
int step = ;
int* number = new int(start);
*number += step;
std::cout << "value=" << *number << std::endl;
delete number;
number = nullptr;
std::cout << "released=" << (number == nullptr) << std::endl;
return 0;
}
#include <iostream>
int main() {
int start = ;
int step = ;
int* number = new int(start);
*number += step;
std::cout << "value=" << *number << std::endl;
delete number;
number = nullptr;
std::cout << "released=" << (number == nullptr) << std::endl;
return 0;
}
#include <iostream>
int main() {
int start = ;
int step = ;
int* number = new int(start);
*number += step;
std::cout << "value=" << *number << std::endl;
delete number;
number = nullptr;
std::cout << "released=" << (number == nullptr) << std::endl;
return 0;
}
#include <iostream>
int main() {
int start = ;
int step = ;
int* number = new int(start);
*number += step;
std::cout << "value=" << *number << std::endl;
delete number;
number = nullptr;
std::cout << "released=" << (number == nullptr) << std::endl;
return 0;
}
#include <iostream>
int main() {
int start = ;
int step = ;
int* number = new int(start);
*number += step;
std::cout << "value=" << *number << std::endl;
delete number;
number = nullptr;
std::cout << "released=" << (number == nullptr) << std::endl;
return 0;
}
delete
Every object created with `new` should be released with `delete` when it is no longer needed.