心得-C/C++學習過程的小技巧
阿新 • • 發佈:2018-12-11
C/C++學習小技巧
在碼程式碼過程中,會遇到很多問題,在此記錄自己在學習過程中遇到的“坑”。
1、不要在函式中返回區域性變數
a.C/C++能返回static修飾的區域性變數(因為在靜態儲存區)
b.C/C++能返回用 new 建立的區域性變數(因為在堆空間)
c.C/C++能返回指向常量的指標,但不能返回指向普通區域性變數的指標,否則返回的是亂碼(因為後者建立在棧空間)
d.C/C++能返回區域性變數的值。
在函式返回值上,主要有以下幾種:
#include <iostream> using namespace std; char * func1(){ char *p = "func1 hello"; return p; } char & func2(){ char *p = "func2 hello"; return *p; } int main() { // your code goes here char *ptr1 = func1(); printf("%s\n",ptr1); char *ptr2 = &func2(); printf("%s\n",ptr2); return 0; }
注意的是,在*與&始終是一對出現。
返回主題上,總的來說,在函式的返回值有種,一種是返回值,