C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++の異なるコンテナからのサブレンジの交換


このチュートリアルでは、C++でのさまざまなコンテナのサブレンジのスワッピングを理解するためのプログラムについて説明します。

このために、ベクターとリストが提供され、それらの要素のいくつかを交換する必要があります。

#include <algorithm>
#include <iostream>
#include <list>
#include <vector>
using namespace std;
int main(){
   vector<int> v = { -10, -15, -30, 20, 500 };
   list<int> lt = { 10, 50, 30, 100, 50 };
   swap_ranges(v.begin(), v.begin() + 3, lt.begin());
   for (int n : v)
      cout << n << ' ';
   cout << '\n';
   for (int n : lt)
      cout << n << ' ';
   cout << endl;
   return 0;
}

出力

10 50 30 20 500
-10 -15 -30 100 50

  1. C ++関数からローカル配列を返す方法は?

    ローカル配列は、関数呼び出し後にメモリに存在しない可能性があるため、C++関数から直接返すことはできません。これを解決する方法は、関数で静的配列を使用することです。静的配列の存続期間はプログラム全体であるため、上記の問題なしにC++関数から簡単に返すことができます。 これを実証するプログラムは次のとおりです。 例 #include <iostream> using namespace std; int *retArray() {    static int arr[10];    for(int i = 0; i<10; i++) {

  2. C ++の関数から配列を返す方法は?

    C ++は配列全体を返すわけではありませんが、配列へのポインタを返すことはできます。関数外では、ローカル変数のアドレスを返すことはできません。ローカル変数を静的にすることで、ローカル変数のアドレスを返すことができます。 ポインタを返す構文は次のとおりです。 int * function_name() { body } ここで function_name −ユーザーが指定した関数の名前。 以下は、関数から配列を返す例です。 例 #include <iostream> using namespace std; int * ret() {    stati