1) cli에서 다음 코드에 대한 포인터 유효성 검사가 필요합니까? 좋은 점이 있습니까?gcnew에 대한 포인터 유효성 검사를 생성해야합니까?
NameClass NameString^ = gcnew NameClass();
if (NameClass)
{
// some process
2) 우리는 하나의 함수에서 메모리를 생성하고 다른 포인터로 전달하면 우리가 검증을해야합니까?
foo()
{
try {
NameClass *pNameString = new NameClass();
foo_2(pNameString);
} catch(std::bad_alloc &error)
{
std::cout << error.what() << std::endl;
}
}
foo_2(NameClass *pNameString)
{
if (pNameString) // do we need to validate here ?
{
// some stuff
}
}
3) 참조 전달시 로컬로 생성 된 개체의 유효성을 검사해야합니까?
NameClass objNameClass;
foo(&objNameClass);
foo(NameClass *objNameClass)
{
if (objNameClass) // do we need to validate here ?
{