Heim  >  Artikel  >  Backend-Entwicklung  >  So geben Sie ein Array von einer Funktion in C++ zurück

So geben Sie ein Array von einer Funktion in C++ zurück

藏色散人
藏色散人Original
2020-02-10 08:56:286060Durchsuche

So geben Sie ein Array von einer Funktion in C++ zurück

Wie gebe ich ein Array von einer Funktion in C++ zurück?

C++ gibt ein Array von einer Funktion zurück

C++ erlaubt nicht die Rückgabe eines vollständigen Arrays als Funktionsparameter. Sie können jedoch einen Zeiger auf ein Array zurückgeben, indem Sie den Array-Namen ohne Index angeben.

Wenn Sie ein eindimensionales Array von einer Funktion zurückgeben möchten, müssen Sie eine Funktion deklarieren, die einen Zeiger zurückgibt, wie folgt:

int * myFunction()
{
.
.
.
}

Außerdem unterstützt C++ die Rückgabe der Adresse nicht einer lokalen Variablen außerhalb einer Funktion, es sei denn, lokale Variablen sind als statische Variablen definiert.

Schauen wir uns nun die folgende Funktion an, die 10 Zufallszahlen generiert und diese mithilfe eines Arrays wie folgt zurückgibt:

Instanz

#include <iostream>
#include <cstdlib>
#include <ctime>
 
using namespace std;
 
// 要生成和返回随机数的函数
int * getRandom( )
{
  static int  r[10];
 
  // 设置种子
  srand( (unsigned)time( NULL ) );
  for (int i = 0; i < 10; ++i)
  {
    r[i] = rand();
    cout << r[i] << endl;
  }
 
  return r;
}
 
// 要调用上面定义函数的主函数
int main ()
{
   // 一个指向整数的指针
   int *p;
 
   p = getRandom();
   for ( int i = 0; i < 10; i++ )
   {
       cout << "*(p + " << i << ") : ";
       cout << *(p + i) << endl;
   }
 
   return 0;
}

Wenn das Obige Wenn der Code kompiliert und ausgeführt wird, erzeugt es die folgenden Ergebnisse:

624723190
1468735695
807113585
976495677
613357504
1377296355
1530315259
1778906708
1820354158
667126415
*(p + 0) : 624723190
*(p + 1) : 1468735695
*(p + 2) : 807113585
*(p + 3) : 976495677
*(p + 4) : 613357504
*(p + 5) : 1377296355
*(p + 6) : 1530315259
*(p + 7) : 1778906708
*(p + 8) : 1820354158
*(p + 9) : 667126415

Das obige ist der detaillierte Inhalt vonSo geben Sie ein Array von einer Funktion in C++ zurück. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn