
No.3ベストアンサー
- 回答日時:
ラッパーは、wrapper で包み込むものの意味です。
wrap ラップはサランラップのラップですね。
wrappingラッピングといえば、プレゼントを包むやつですね。
つまり、たとえばある関数を使いたいと思ったとします。
しかし、その関数を呼び出すには、いろんな手続きをしないといけない、また呼ぶときに渡す引数をたくさん設定しなければならないなど、使用するのが面倒な場合があります。
これはその関数が汎用的に使えるように、動作に自由度を持たせていると、面倒になる傾向にあります。
そんな時、引数なし、又は簡単な引数で呼び出せるような関数を作ってあげれば楽になります。
この場合は、ある程度用途が決まっているので、その関数を呼び出すときの手続きを省略してくれるような関数ですね。
それがラッパーというわけです。
あと良くあるのが、C言語で書かれたライブラリなどをC++の機能を使って使いたいときに、ラッパーを作ったりします。
この場合は逆に機能を追加して使いやすくするイメージですね。
ハンドル(handle)はつまり何かを操作するときのハンドル(車のハンドルと同じ)です。
この概念は良く使われます。
たとえば、ハードディスクにはファイルがたくさん入っています。
その中のファイルを開いて何か処理しようとします。するとディスクアクセスの処理をしなければなりませんが、それを自分で書くのは大変なので、ライブラリを使います。
ライブラリでは、
・指定されたファイルを開く関数
・指定されたファイルの中身を読み出す関数
・指定されたファイルに指定の文字を書き出す関数
などなどたくさん用意します。
ここで一つ問題が生じます。もし複数のファイルを同時に処理したい場合どうやったらよいでしょう。
いちいちファイル名で指定する方法も考えられますが、ファイルを開くときに一つのハンドルという名前の変数を用意し、その変数の中にどのファイルであるという情報、そのファイルのサイズ、そのほか必要な情報を一つにまとめておくと、ファイルを操作するときにはその変数を引数として渡すだけで、ファイルがどれであるのかという指示が簡単に出来ます。
いまファイルハンドルを例にあげましたが、他にもWindowsではたくさんのWindowを開きますので、それら一つ一つにもハンドルが用意されています。
基本的に、
・同種のものが複数ある
・上記に対して操作する関数が複数ある
という条件を満たすようなものに対しては、ハンドルという概念でコントロールすることがよくあります。
この回答へのお礼
お礼日時:2002/09/20 18:22
mickjey2さん、こんにちは。
今まで頭の上で???が踊っていたのですが、それが減ったような気分です。丁寧に教えてくれて本当にありがとうございました。
これからもっと深くC++を勉強していかなければならなくなったので、いろいろわからないことにぶつかるんだろうな・・・と思うと気が滅入りますが、がんばってみたいと思います。
また、どうしてもわからないときはアドバイスよろしくお願いします。
No.2
- 回答日時:
ラッパーとは、ある関数を呼び出す関数のことです。
こうしたことで、使いやすいインターフェースにしたり、無理やり移植が可能になったりします。
ハンドルは、いわゆる識別コード(主キー)です。そのフィールドにおいて一意でなくてはなりません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
#include <Windows.h>というヘ...
-
Latexで図番号だけを「図1.1」...
-
アクセス 壊れた? 「ファイ...
-
.NETアプリを作ったときの .man...
-
jarファイル
-
コマンドプロンプトで、指定し...
-
MFCのダイアログのリソースが更...
-
リンクの張り付けかたを教えて...
-
コマンドプロンプトで作成日時...
-
htcファイルとはなんですか?
-
C言語---ファイルに出力したデ...
-
Seasar2のdiconファイルの読み方
-
予期しないファイル形式です
-
CRCが一致する確率
-
Batファイルをバイナリ形式にす...
-
ファイルが開かれているかどう...
-
VBAのバイナリ出力について
-
「営業秘密の漏洩」について
-
Excel VBA リンク更新について ...
-
SFTP/FTPで受信するファイルの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
#include <Windows.h>というヘ...
-
コマンドプロンプトで作成日時...
-
アクセス 壊れた? 「ファイ...
-
binファイルを解凍したいの...
-
.NETアプリを作ったときの .man...
-
リンクの張り付けかたを教えて...
-
Latexで図番号だけを「図1.1」...
-
jarファイル
-
監視ツールを入れさせられまし...
-
自分で作成した重要ファイルを...
-
コマンドプロンプトで、指定し...
-
C言語---ファイルに出力したデ...
-
「ブルーファイル」と「グリー...
-
公文書のxmlファイルの開き方が...
-
HTMLからのBATファイル実行
-
CSVから指定行だけを読み込み
-
warファイルをEclipseでプロジ...
-
ファイルが開かれているかどう...
-
exeファイルの中身を見る方法は...
-
VB6 でSSH接続がしたい
おすすめ情報