这个答案为什么这样呢

程序运行过程中,为了节约空间有时需要动态申请空间和释放空间,动态申请空间的操作符为( ),释放内存空间的操作符为( )。
1.[填空题]
#include <iostream.h>
void swap(char*& str1, char*& str2);
void main()
{
char* p1="hello";
char* p2="how are you?";
cout<<p1<<endl<<p2<<endl;
swap(p1,bp);
cout<<"交换以后:\n";
cout<<p1<<endl<<p2<<endl;
}
void swap(char*& str1, char*& str2)
{ char* temp=str1;
str1=str2;
str2=temp;
}
当采用new操作符进行动态申请空间时,当内存中没有足够的空间给予分配时,new 运算符返回空指针( )。