1. 程式人生 > >心得-C/C++學習過程的小技巧

心得-C/C++學習過程的小技巧

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;
}

注意的是,在*與&始終是一對出現

返回主題上,總的來說,在函式的返回值有種,一種是返回值,