C++テンプレート関数で内蔵配列をマッチング
935 ワード
関数テンプレートで組み込み配列を一致させる
これは私が『プログラミング原理と実践(第2版)(進級編)』でMatrixライブラリに関する内容を勉強したときに見た知識点です.
配列知識補充:配列には2つの特性があり、主に配列をパラメータとして伝達する必要がある場合に体現される:1つは配列を複製できない;二つ目は、配列名を使用する場合、配列名は配列の最初の要素を指すポインタに相当します(実際にはそうです).コピーできないため、配列タイプを使用するパラメータを記述できず、配列は自動的にポインタに変換されます.
これは私が『プログラミング原理と実践(第2版)(進級編)』でMatrixライブラリに関する内容を勉強したときに見た知識点です.
#include
using namespace std;
template
void test(const T(&a)[n]) { // : 。 C++ ,C
// (&a) 。
for (int i = 0; i < n; i++)
cout << a[i] << '\t';
cout << endl;
}
int main() {
int a[]{ 1,2,3,4,5 }; //
test(a);
return 0;
}
配列知識補充:配列には2つの特性があり、主に配列をパラメータとして伝達する必要がある場合に体現される:1つは配列を複製できない;二つ目は、配列名を使用する場合、配列名は配列の最初の要素を指すポインタに相当します(実際にはそうです).コピーできないため、配列タイプを使用するパラメータを記述できず、配列は自動的にポインタに変換されます.
#include
using namespace std;
void test(int a[5]) { //
*a = 11;
cout << a[0] << endl; // 11
}
int main() {
int a[]{ 1,2,3,4,5 };
test(a);
cout << a[0] << endl; // 11
return 0;
}