//ex1
anyclass * pointer;
anyfunc(pointer);
проверка инициализации
в функцию передается указатель на объект, нужно узнать проинициализирован ли указатель и если да то выяснить проинициализирован ли объект.
Код:
Код:
//ex2
anyclass anyobj;
anyclass * pointer=&anyobj;
anyfunc(pointer);
anyclass anyobj;
anyclass * pointer=&anyobj;
anyfunc(pointer);
Код:
//ex3
anyclass * pointer=new anyclass();
anyfunc(pointer);
anyclass * pointer=new anyclass();
anyfunc(pointer);
Ф-я в зависимости от рез-та проверки может создать новый объект и возвратить на него указатель
Используй умные указатели.
проблема в том, что я пишу только ф-ю, а к коду вызывающей программы доступа нет
Можно проверять указатель на ноль, предварительно занулив его перед вызовом того, что создаёт объект, указывающий на него.
Проинициализирован ли объект в общем случае так же узнать нельзя, для этого должна быть доп инф., например, поле соотв. объекта.