int *&variableNameはどのように機能しますか?

wazeeer

私の教授は私たちに次のコードを与えましたが、int *&がどのように機能するかを完全には理解していません。私の理解では、selectionSort関数は、配列が開始するメモリ位置のアドレスを返しています。

void SelectionSort(int* nums, unsigned int N, int*& SortedNums);
void SelectionSort(int* nums, unsigned int index);


  int main(){
  const unsigned int size = 12;
  int array[size] = {3,5,7,13,31,56,8,4,2,5,7,4};
  int* sorted;
  cout << "in main: " << &sorted << endl;

  SelectionSort(array, size, sorted);


  for( unsigned int i =0; i <size  ; i++){
  cout <<  *(sorted+i) << endl;
  }
  delete [] sorted;

  return 0;
  }

void SelectionSort(int* nums, unsigned int N, int*& SortedNums){
     cout << "in fucnt: " << &SortedNums<< endl;

     SortedNums = new int[N];
     for(unsigned int i= 0 ; i < N ; i++ ){
         *(SortedNums +i) = *(nums + i);
     }

  unsigned int numb_of_indexes = N-1; 


 SelectionSort(SortedNums, numb_of_indexes);
 }

 void SelectionSort(int* nums, unsigned int index){
     if(index ==1 ) return;

     int smallestindex = smallestIndex(nums, index);
     Swap(nums, smallestindex);
     SelectionSort(nums+1, index-1);
 }
ガリック

このことを考慮:

void func1(int* ip)
{
    // in here you have a COPY of the pointer ip
    // if you change the value of ip it will be
    // lost when the function ends (because it is a copy)
}

次にこれ:

void func2(int*& ip)
{
    // in here you have a REFERENCE to the pointer ip
    // if you change the value of ip you are really
    // changing the value of the pointer that the 
    // function was called with.
}

だから今:

int main()
{
    int* ip = new int;

    // func1 can not change ip here (only its own copy)
    func1(ip); 

    // If func2 changes ip we will see the change out here
    // because it won't be a copy that changes it will be the 
    // one we passed in that gets changed.
    func2(ip); 

    // etc...
}

それがお役に立てば幸いです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

(int)ケースはどのように機能しますか?

分類Dev

int(* p)[10]はどのように機能しますか?

分類Dev

新しいint [n]()はどのように機能しますか?

分類Dev

long intキャストはJavaでどのように機能しますか?

分類Dev

double to int castはJavaでどのように機能しますか

分類Dev

Android TextView.SetText(int resid)はどのように機能しますか?

分類Dev

int array [30] = {0}; これはcでどのように機能しますか?

分類Dev

C / C ++:int array [10] = {0}はどのように機能しますか?

分類Dev

参照関数「int&foo();」はどのように機能しますか 作業?

分類Dev

fetchNext(int)メソッドはjooqでどのように機能しますか?

分類Dev

Android Room DAO @Insert with return value(long or int)はどのように機能しますか?

分類Dev

文字列の引用符、長さの合計数、およびarrayname [int]はどのように機能しますか?

分類Dev

Javaでdoubleからintへの変換はどのように機能しますか?

分類Dev

long longからintへの変換はどのように機能しますか?

分類Dev

Androidのintカラーコードはどのように機能しますか?

分類Dev

Androidのintカラーコードはどのように機能しますか?

分類Dev

「final int i」はJava forループ内でどのように機能しますか?

分類Dev

read on intは単独で機能しますが、このスクリプトで機能させるにはどうすればよいですか?

分類Dev

カスタムコンパレータを指定しなくても、pair <int、int>の優先キューはどのように機能しますか?

分類Dev

なぜ(1)はintであり、どのように機能するのか

分類Dev

C ++でint配列の長さを見つけると、どのように機能しますか?

分類Dev

浮動小数点推論に対するSwiftのintリテラルはどのように機能しますか?

分類Dev

C ++でintをcharに変換するとき、「ナローイング」はどのように機能しますか?

分類Dev

Java 9以降での一般化された特殊化と、List <int>の比較:.remove()はどのように機能しますか?

分類Dev

SQL ServerのGUIDキーとintキーのインデックス作成はどのように機能しますか?

分類Dev

Task <int>はどのようにしてintになりますか?

分類Dev

タイプを拡張して、intのような基本的なタイプに機能を追加するにはどうすればよいですか?

分類Dev

int.TryParseが実際にどのように機能するか

分類Dev

ScalaはどのようにしてIntをDoubleに変換しますか?

Related 関連記事

  1. 1

    (int)ケースはどのように機能しますか?

  2. 2

    int(* p)[10]はどのように機能しますか?

  3. 3

    新しいint [n]()はどのように機能しますか?

  4. 4

    long intキャストはJavaでどのように機能しますか?

  5. 5

    double to int castはJavaでどのように機能しますか

  6. 6

    Android TextView.SetText(int resid)はどのように機能しますか?

  7. 7

    int array [30] = {0}; これはcでどのように機能しますか?

  8. 8

    C / C ++:int array [10] = {0}はどのように機能しますか?

  9. 9

    参照関数「int&foo();」はどのように機能しますか 作業?

  10. 10

    fetchNext(int)メソッドはjooqでどのように機能しますか?

  11. 11

    Android Room DAO @Insert with return value(long or int)はどのように機能しますか?

  12. 12

    文字列の引用符、長さの合計数、およびarrayname [int]はどのように機能しますか?

  13. 13

    Javaでdoubleからintへの変換はどのように機能しますか?

  14. 14

    long longからintへの変換はどのように機能しますか?

  15. 15

    Androidのintカラーコードはどのように機能しますか?

  16. 16

    Androidのintカラーコードはどのように機能しますか?

  17. 17

    「final int i」はJava forループ内でどのように機能しますか?

  18. 18

    read on intは単独で機能しますが、このスクリプトで機能させるにはどうすればよいですか?

  19. 19

    カスタムコンパレータを指定しなくても、pair <int、int>の優先キューはどのように機能しますか?

  20. 20

    なぜ(1)はintであり、どのように機能するのか

  21. 21

    C ++でint配列の長さを見つけると、どのように機能しますか?

  22. 22

    浮動小数点推論に対するSwiftのintリテラルはどのように機能しますか?

  23. 23

    C ++でintをcharに変換するとき、「ナローイング」はどのように機能しますか?

  24. 24

    Java 9以降での一般化された特殊化と、List <int>の比較:.remove()はどのように機能しますか?

  25. 25

    SQL ServerのGUIDキーとintキーのインデックス作成はどのように機能しますか?

  26. 26

    Task <int>はどのようにしてintになりますか?

  27. 27

    タイプを拡張して、intのような基本的なタイプに機能を追加するにはどうすればよいですか?

  28. 28

    int.TryParseが実際にどのように機能するか

  29. 29

    ScalaはどのようにしてIntをDoubleに変換しますか?

ホットタグ

アーカイブ