C ++初期化問題フィル()、memsetの()関数の初期化と

A、塗りつぶし()関数

  1. 同じ要素の値の部分に割り当てられたユニットオード
  2. ヘッダ・ファイルに 内部
  3. フィル機能は、任意の値を割り当てることができます使用方法:
fill(arr, arr + n, 要填入的内容)

//int数组
#include <cstdio>
#include <algorithm>
using namespace std;
int main() {
    int arr[10];
    fill(arr, arr + 10, 2);
    return 0;
}

//vector
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
    vector<int> v{0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
    fill(v.begin(), v.end(), -1);
    return 0;
}  

二、memsetの()関数

  1. バイト単位で記入
  2. ヘッダ・ファイルに 内部
  3. それはバイトに充填されているので、一般的にのみ0及び-1以外充填int配列、他のことができない場合(のみバイト配列チャーため)のmemset char配列を埋めるために使用されます。= 0のみ00000000ので、-1同様に、それぞれが1に充填されている場合、11111111充填になることをもたらします。
  4. 使用方法:
//memset()使用方法
#include <iostream>
#include <cstring>
using namespace std;
int main(){
    int a[20];
    memset(a, 0, sizeof(a));
    return 0;
}

第三に、図の初期化。

  • 上記の概要によると、使用するフィル機能、簡単なの広い範囲を使用することをお勧めします。
  1. 隣接行列が使用される場合、次いで、時には定義時に初期化主題によれば、すべてゼロに初期化します。
  2. 時にはそれは、充填機能、フィル充填することによって初期化される(G [0]、G [0] + MAXN * MAXN、INF)。
  3. 隣接テーブルの場合は、初期化する必要はありません。

おすすめ

転載: www.cnblogs.com/tsruixi/p/12388363.html