ホームページ > バックエンド開発 > C++ > C++ で関数テンプレートを使用するにはどうすればよいですか?

C++ で関数テンプレートを使用するにはどうすればよいですか?

王林
リリース: 2024-04-12 15:24:02
オリジナル
1007 人が閲覧しました

C 関数テンプレートを使用すると、複数のデータ型を処理する関数を作成できるため、コードの再利用性が向上します。構文は、テンプレート 関数名 (パラメータ リスト) で、型パラメータを指定することで使用できます。実際の例には、任意のデータ型に使用できるスタック クラス (template class Stack) など、データ構造で関数テンプレートを使用することが含まれます。

C++ 中如何使用函数模板?

C で関数テンプレートを使用する方法

関数テンプレートは、C の強力な機能であり、次のような関数を作成できます。複数のデータ型の関数で使用されます。これにより、コードの再利用性が向上し、重複するコードの量が削減されます。

関数テンプレートの構文

関数テンプレートの構文は次のとおりです。

template <typename T>
函数名(参数列表) {
    函数体
}
ログイン後にコピー

ここで、T は型パラメーターです。複数の型パラメータをカンマで区切って指定できます。

関数テンプレートの使用

関数テンプレートを使用するには、関数名の後に型パラメーターを指定するだけです。たとえば、次のコードは 2 つの数値の合計を計算するテンプレート関数を宣言します。

template <typename T>
T sum(T a, T b) {
    return a + b;
}
ログイン後にコピー

これで、この関数を任意のデータ型で使用できるようになります。たとえば、

int x = sum(1, 2); // x 等于 3
double y = sum(1.5, 2.5); // y 等于 4.0
ログイン後にコピー

In実践ケース

次に、データ構造で関数テンプレートを使用する実践的なケースを示します:

template <typename T>
class Stack {
private:
    vector<T> elements;

public:
    void push(T element) {
        elements.push_back(element);
    }

    T pop() {
        if (elements.empty()) {
            throw runtime_error("Stack is empty");
        }
        T element = elements.back();
        elements.pop_back();
        return element;
    }
};
ログイン後にコピー

このスタック クラスは、任意のデータ型を使用できます。たとえば、:

Stack<int> intStack;
intStack.push(1);
intStack.push(2);
cout << intStack.pop() << endl; // 输出 2
cout << intStack.pop() << endl; // 输出 1
ログイン後にコピー

結論

関数テンプレートは、コードの再利用性を向上させ、重複コードを減らすための C の強力なツールです。関数テンプレートの構文を理解し、実践的な例を使用することで、この機能を利用して、より柔軟で保守しやすいコードを作成できます。

以上がC++ で関数テンプレートを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート