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 }

なぜ T よりも Type の方が優れた命名とされているのか疑問に思うかもしれませんが、その理由は単純です。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