第十八章 16 函数如何返回字符串
// 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; }*/