
No.4ベストアンサー
- 回答日時:
疑問文ではなく仮定文と考えてください。
例えば、> if (isdigit(c)) {
は、英語で
> if c is digit then
と読みかえる感じ。
この方式は、オブジェクト指向となじみやすく、例えば文字クラスにisdigitメソッドがあれば、
> if (c.isdigit()) {
と、英語そのままの語順に書き下せます。
この方式で命名するメリットは、関数がどういうときに真を返すのか分かりやすいことです。
単語が意味する条件を満たすときに「真」(Cなら!0、C++ならtrue)を、
条件を満たさない時は「偽」(Cなら0、C++ならfalse)を返すように設計します。
これが、もし「checkdigit」という関数だったりすると、
「引数が数字(digit)かどうか調べる(checkする)」関数であることは分かっても、
数字だったときには真を返すのか偽を返すのかがわかりません。
使い勝手が悪いですし、バグの温床となります。
条件次第では、is 以外の名前を使う場合もありますが、
is 以外にも、条件を意味する動詞をそのまま関数名にする場合が多いです。
上記のような英語の仮定文を関数名にする、という観点では、do やdoes が関数名に付くことはあまりありません。
オブジェクト志向では、オブジェクト同士の関係として「is-a」「has-a」の関係が重視される場合が多く、
そういう関係をチェックするメソッド名には、is とか has で始まる名前が付くことになります。
No.3
- 回答日時:
> is・・・の意味は is this a pen?の疑問文からきたものということでいいでしょうか?
はい。英語の繋辞(be動詞)であるisのことです。
そのため、~であるか否かを判定する関数に使っています。
標準C++ライブラリのstd::has_facetように、ある特性等を有しているかどうかを調べる関数はhasで始まります。
一方、doで始まる関数には、std::ctype<T>::do_toupperのようなものがあります。これはNVI(=Non-Virtual Interface)を実現するために、公開メンバ関数であるstd::ctype<T>::toupperから呼び出される(限定公開の)仮想関数です。
英語の厳密な文法に従っているわけではありませんので、std::ctype<T>::do_isのような関数もあります。
この回答へのお礼
お礼日時:2009/01/25 22:26
ありがとうございます。そういった正式ではない規約の一覧みたいなのがあると、便利かとおもうのですが、英語からだいたい想像はできるはするのですが。
std::ctype<T>::do_isはbool値の確認をするということですか?
No.2
- 回答日時:
標準関数のisalpha等、<ctype.h>で宣言される関数のことでしょうか?
以下、そう解釈して回答します。
> なんと呼ばれて、
JIS X3010:2003では「文字種分類関数」と呼んでいます。
> どのように戻り値を使うのしょうか?
(戻り値というより)「返却値」がゼロであれば偽、非ゼロであれば真になります。具体的には、isdigitがゼロを返せば実引数の文字は数字ではなく、非ゼロを返せば数字ということになります。
> また、そのほか一般的なそういったプログラムでの規約集みたいなものがあれば教えてください。
規約集というのはありません。
ただし、C90からある標準関数の場合、外部結合を持つ識別子は、大文字・小文字が区別されるとは限らず、先頭から6文字しか有意な識別子であることが規格上保証されませんので、その範囲で命名しています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
外国人が箇条書きする際、先頭...
-
半角のφ
-
メールの「様、」←様の後の句読...
-
「多くの方々」と「多くの方」...
-
69の意味
-
Educational Qualification
-
「非対象」と「対象外」の言葉...
-
ある会合の、「第1回」、「第2...
-
単位の何本とかってなんて訳せ...
-
電子メールの冒頭などに、「日...
-
旧A株式会社(現B株式会社)を...
-
米国の病院への紹介状の表書き
-
数学に関して
-
PhDを持つ人の敬称は絶対にDr?
-
Coppermine Photo Galleryを使...
-
covered with とcovered inの違い
-
agree withとagree that
-
approximatelyの省略記述
-
ofがどうしても続いてしまう場...
-
good dayに対してなんと返すの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Coppermine Photo Galleryを使...
-
「多くの方々」と「多くの方」...
-
ある会合の、「第1回」、「第2...
-
ゴールデンウィークの略は?GW...
-
単位の何本とかってなんて訳せ...
-
メールの「様、」←様の後の句読...
-
外国人が箇条書きする際、先頭...
-
「非対象」と「対象外」の言葉...
-
半角のφ
-
agree withとagree that
-
Creampieは何故クリームパイで...
-
章立ては、部、章、節、項、だ...
-
「ポジション」と「ポディショ...
-
ofがどうしても続いてしまう場...
-
PhDを持つ人の敬称は絶対にDr?
-
i missed the shock ってどう...
-
covered with とcovered inの違い
-
【英語の論文】図や表などを再...
-
approximatelyの省略記述
-
「入り数」にあたる英語は?
おすすめ情報