Maison  >  Article  >  développement back-end  >  Comment renvoyer un tableau à partir d'une fonction en C++

Comment renvoyer un tableau à partir d'une fonction en C++

藏色散人
藏色散人original
2020-02-10 08:56:286062parcourir

Comment renvoyer un tableau à partir d'une fonction en C++

Comment retourner un tableau à partir d'une fonction en c++ ?

C++ Renvoyer un tableau à partir d'une fonction

C++ ne permet pas de renvoyer un tableau complet comme argument de fonction. Cependant, vous pouvez renvoyer un pointeur vers un tableau en spécifiant le nom du tableau sans index.

Si vous souhaitez renvoyer un tableau unidimensionnel à partir d'une fonction, vous devez déclarer une fonction qui renvoie un pointeur, comme suit :

int * myFunction()
{
.
.
.
}

De plus, C++ ne prend pas en charge le renvoi de l'adresse d'une variable locale en dehors d'une fonction, sauf si les variables locales sont définies comme des variables statiques.

Maintenant, regardons la fonction suivante, qui générera 10 nombres aléatoires et les renverra à l'aide d'un tableau, comme suit :

Instance

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

Quand ce qui précède Quand le le code est compilé et exécuté, il produit les résultats suivants :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn