C++ 函数返回char*
生活随笔
收集整理的這篇文章主要介紹了
C++ 函数返回char*
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在函數(shù)內(nèi)建立的局部變量在函數(shù)結(jié)束后會被銷毀,所以如何從函數(shù)返回函數(shù)內(nèi)新建的char*是一個問題
看一個例子:
char* get_char_1(){string s = "abc";return (char*)s.c_str(); }int main(){char* temp = get_char_1();cout << temp;return 0; }此時什么也不輸出
解決方法:在函數(shù)內(nèi)新建一個static char數(shù)組,這樣函數(shù)結(jié)束數(shù)組也不會被銷毀
char* get_char_2(){string s = "abc";static char a[20];strcpy(a, s.c_str());return a; }int main(){char* temp = get_char_2();cout << temp;return 0; }?
總結(jié)
以上是生活随笔為你收集整理的C++ 函数返回char*的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 绘制时频图 plt.spe
- 下一篇: C++初始化vector<vector<