C/C++之函数返回值为指针或者是引用时常见错误总结
生活随笔
收集整理的這篇文章主要介紹了
C/C++之函数返回值为指针或者是引用时常见错误总结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、說明
函數如果是指針或則引用的返回,一般全局變量、局部靜態變量、局部動態分配內存的變量可以使用作為函數的返回值,局部變量不行,因為局部變量函數調用完會自動銷毀內存,這個時候返回的指針或則引用就有問題了。
2、展示代碼
#include <iostream> #include <string.h> #include <stdlib.h>using namespace std;string& f1(const string &s) {static string result = s;return result; }string f2(const string &s) {string result = s;return result; }string &f3(const string &s) {string *p = new string;*p = s;return *p; }int *f4() {int a = 10;return &a; }int *f5() {static int a = 10;return &a; }int *f6() {int *a = (int *)malloc(sizeof(int) * 10);*a = 10;*(a + 1) = 11;return a; }int &f7() {int *a = (int *)malloc(sizeof(int) * 10);*a = 10;*(a + 1) = 11;return *a; }int &
總結
以上是生活随笔為你收集整理的C/C++之函数返回值为指针或者是引用时常见错误总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android之走手机流量让电脑能上网几
- 下一篇: C/C++之#ifdef、#if、#if