pěkný den přeji,
jsem v C++ docela nový, učím se ho z různých zdrojů, záleží jaký článek na internetu nebo v knize mě upoutá. Teď jsem ale narazil na jednu věc, kterou moc nechápu. Moje otázka je:
"Proč se přidávalo do C++ slovo nullptr, když existuje už NULL nebo přiřazení adresy 0 k ukazateli?"
Já si myslím, že některé věci z ukazatelů ještě nechápu úplně jak bych měl, jinak by mi to jistě bylo jasné. Za odpověď děkuji.
Zatím se mi zdá, že když přeložím soubor jako g++ -std=c++11 program.cpp tak se nullptr chová úplně stejně jako 0.
Například v tomto programu jsem testoval, jestli nenajdu rozdíly a nenašel jsem:
#include <iostream>
int main()
{
int * uk_int_nullptr = nullptr;
int * uk_int_0 = 0;
int * uk_int_NULL = NULL;
int * uk; // neinicializovan na 0
std::cout << uk_int_NULL << std::endl;
std::cout << uk_int_0 << std::endl;
std::cout << uk_int_nullptr << std::endl;
std::cout << uk << std::endl;
delete uk_int_NULL;
delete uk_int_0;
delete uk_int_nullptr;
// delete uk;
return 0;
}