Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 命名規則 | 最初のテンプレート作成
C++テンプレート

book命名規則

メニューを表示するにはスワイプしてください

良い命名と悪い命名

変数と同様に、テンプレートパラメータには任意の名前を付けることが可能。ただし、命名規則を守ることでコードの可読性や保守性が大幅に向上。以下に、考慮すべき良い例と悪い例を示す。

main.cpp

main.cpp

copy
1234
template<typename T> // <- Actually a good naming void myTemplate() { // Function implementation }

TType よりも優れた命名とされる理由について疑問に思うかもしれないが、その理由は単純。TType を表す広く受け入れられている慣習であり、テンプレートパラメータが型を表すことを即座に示すため、多くの開発者にとって馴染み深い。また、U がすでに使われている場合は VT を使用することも一般的。

説明的な命名

複数のテンプレートパラメータがあり、その目的がすぐに分からない場合は、Tで始まる説明的な名前を使用することが推奨されます。

main.cpp

main.cpp

copy
1234
template<typename TKey, typename TValue> void map() { // Function implementation }

一部のテンプレートのドキュメントを見ると、型パラメータをより明確にするためにアンダースコア(_)を先頭に付けている開発者がいることに気付くかもしれません。この方法を採用することも可能です。ただし、最も重要なのはコード全体で一貫性を保つことです。自分が好む命名スタイルを選び、それを守るようにしましょう。

クラスとtypename

classtypename は、テンプレート宣言で使用されるキーワード。これらはこの文脈では互換的に利用可能。

main.cpp

main.cpp

copy
12345
template <class T> void first_template(T param) { /* ... */ } template <typename T> void second_template(T param) { /* ... */ }

歴史的に、テンプレートパラメータを定義する際には class キーワードのみが利用可能だった。そのため、古いコードではこのキーワードが使われている場合がある。しかし、テンプレート作成時には明確さのために typename キーワードが推奨されるため、本コースではこちらを使用。

question mark

プレースホルダーに入るものは何ですか?

すべての正しい答えを選択

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 1.  5

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 1.  5
some-alt