Ahoj,
nasel jsem na internetu tento kousek kodu
void Vektor::operator delete (void *v)
{
::delete v;
}
co znamenaji ty :: pred delete? Kdysi davno jsem to nasel v dokumentaci od IBM ale ted to ne a ne najit.
Dekuji moc za rady...
Koudis
Ahoj,
nasel jsem na internetu tento kousek kodu
void Vektor::operator delete (void *v)
{
::delete v;
}
co znamenaji ty :: pred delete? Kdysi davno jsem to nasel v dokumentaci od IBM ale ted to ne a ne najit.
Dekuji moc za rady...
Koudis
Možná bych spíš řekl prostoru, je to lépe pochopitelný...
Nějak takto si to můžeš představit:
#include <iostream>
void vypis() { std::cout << "Global"; }
namespace Base
{
void vypis() { std::cout << "Base"; }
namespace A
{
void ZavolejVypis()
{
::vypis(); // zavola se z globalniho prostoru
vypis(); // uplne to same (pokud nezadas prostor je automaticky global)
Base::vypis(); // zavola vypis() z prostoru Base
}
}
}
int main()
{
Base::A::ZavolejVypis();
return 0;
}
U toho delete je to podobný, ale pokud si ho prepises, tak už je rozhodující jaký delete použít, proto udáváš z jakýho prostoru se delete má použít (::delete) je z globálního mimo třídu/prostor/cokoli...
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku