スポンサーサイト仮引数名の省略

Home > ----- / スポンサー広告 > This Entry 2005-10 / より良いC > This Entry [com : 0][Tb : 1]

--------

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2005-10-04

 コールバック関数にせよ、仮想関数にせよ、テンプレートから呼び出す関数にせよ、要求されたシグニチャやシンタックスに合わせるために、本来は必要でない仮引数を関数に設けることは少なくないと思います*1

Cでは、関数原型(プロトタイプ)では仮引数名を省略することができましたが、関数本体の定義では必ず仮引数名を指定しなければなりませんでした。それ自体はそれほど大きな問題ではありませんが、コンパイラによっては変数が未使用だということで、くどいほど警告が出る場合があります。そこで、unused属性を付けたりしてコンパイラをごまかすわけですが、このような処理系の拡張機能を使うのは何となく気持ち悪いですし、いちいち指定するのも面倒です。

C++では、仮引数を実際には使用しない場合には、その仮引数名を(関数原型の場合と同様に)省略することができます。これによって、大きなお世話の変数未使用警告を抑止することができることでしょう。


*1 後置形式の増減演算子を多重定義する際に設けるintの仮引数が典型的な例です。

Comment

Post a Comment









管理者にだけ表示を許可

Trackback

http://cppemb.blog17.fc2.com/tb.php/34-b7c21485

使用しない仮引数

仮想関数やテンプレート関数等、同じシンタックスで複数の使われ方をするような関数では、使用しない仮引数というものが登場することがあります。例えば、class ClassBase { virtual func(int hint);};class ClassA : pulic ClassBase { virtual ...

職業としてのプログラミング : 2005-10-08 09:57

C++と組み込み環境 | Page Top▲

New >>
コメントと文字コード
<< old
前置形式と後置形式の増減演算子
ブログ内検索
RSSフィード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。