// 16 函数如何返回字符串
/*
#include <iostream>
using namespace std;
char *get(char *str);
int main()
{
//上一节的末尾处讲过,只要获得字符串中第一个字符的地址就可依次找到其它字符,因此只要将字符串中第一个字符的地址返回,就相当于返回了整个字符串
//既然它们都可看作是字符串第一个字符的地址,那么在函数中直接将它们返回,也就等同于返回了字符串的第一个字符的地址,从而间接地达到了返回整个字符串的目前的,另外由于返回的是地址,自然而然地避免了调用复制构造函数,系统的开销也大大减少
char c[10] = "";
char *ch;
cout<<"请输入你的名字:"<<endl;
cin>>c;
ch = get(c);
cout<<"你的名字是:"<<ch<<endl;
delete []ch; //删除一个数名必须前面加[], 不然就是删除的就是字符了
ch = get("Jack"); //末命名字符串传入到函数get中去
cout<<"你的名字是:"<<ch<<endl;
delete []ch;
char *ch1 = "Mike";
ch = get(ch1); //现在传入一个指针ch1到get函数中去
cout<<"你的名字是:"<<ch<<endl;
delete []ch;
return 0;
}
char * get(char* str)
{
char *p= new char[strlen(str) + 1];
strcpy(p,str); //拷贝字符串
cout<<p<<endl;
return p;
}*/