- PR -

型ってなんですか?

投稿者投稿内容
未記人
ベテラン
会議室デビュー日: 2004/08/21
投稿数: 70
投稿日時: 2005-02-07 23:50
値のとりうる範囲と、適用できる演算の種類を類型的に定めたもの
菊池
会議室デビュー日: 2004/11/15
投稿数: 19
投稿日時: 2005-02-08 00:00


class Point
{
int x;
int y;
}

class Range
{
int begin;
int end;
}

 バイナリ表現では2個のintで同じ物ですが、型が違うので全く違う操作を受けるでしょうね。
 オブジェクト指向言語では型はバイナリに意味をつけ、操作を定義する為の物です。
るぱん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 1370
投稿日時: 2005-02-08 00:39
引用:

ほろりんさんの書き込み (2005-02-07 23:01) より:
るぱんさんらしい回答だわw


ありゃ?
僕らしいって(;^_^A アセアセ

個人的にはメモリの取り方をコンピューターに向かって宣言する事が型だと思ってたり・・・。(違うかな?
Fujiwo
常連さん
会議室デビュー日: 2002/02/19
投稿数: 20
投稿日時: 2005-02-08 11:31
型は、「或る値の『集合』」に名前を付けて、操作を定義したものですね。
『集合』である型から見ると、その要素である各値は、インスタンス、と呼ぶこともできると思います。

また、型は、或る言語において、或るバイナリをどう解釈するかという規則でもあります。バイナリに意味を持たせるものです。


以下余談ですが…

「何について聞きたいのか説明できないけど、回答をください」というのはめちゃめちゃ答えにくいような気が。

>どんなビューでもいいです。複数の視点でもいいです。
>ですが、できるだけ具体的な話がいいです。
>コンピュータ内部の動作からのビュー
>CLR に限定したビュー
>プログラミング言語の設計
>集合論からのビューといった順番になるでしょうか。

「ものすごい広い範囲のどんな話でもよくてしかも具体的」ってすると、めちゃめちゃ話が発散しちゃいますよね。
なので、

>あ さん のご質問の意図をはっきりさせるためにも、先ず あ さん ご自身が「型ってなんですか?」に対する考えを示される必要があるかと思います。

と書いたのです。
ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2005-02-08 12:45
どんなビューでもいいということなので、話をかき混ぜてみるw。
型といえば、欠かせない概念が「型変換」という考え方。
ためしにぐぐってみると、トップに出てきたのがMSDNのデータ型変換関数。いわゆるVBのCStrやCIntです。
で、4番目くらいに引っかかってきたのがC言語の暗黙の型変換と明示的型変換(キャスト)に関する記述
両方ともデータの意味を変えずにバイナリを変えるものです。
あれ?でもC言語のキャストってこれだけじゃないはず。例えばsigned intからunsigned intへのキャスト。
或いは、voidポインタからcharポインタへのキャスト。こちらは、バイナリを変えずに意味の方を変えるものです。
一般的に型変換ていうと、どっちを表すものなんでしょうか?
Googleの検索結果を見る限り前者なのかな?
だとすると、後者は日本語でなんて言うのでしょう?意味変換?
がるがる
ぬし
会議室デビュー日: 2002/04/12
投稿数: 873
投稿日時: 2005-02-09 10:09
どもでし。がるです。
んっと。ニーモニックの、Z80あたりの古〜〜いやつと、C言語を
勉強してみると。
「なんで型があるのか?」ってよりは「型がいかに便利なものか?」
がよくわかると思います。

質問の意図はよいと思うのですが。
こーゆー疑問の回答には、深〜いレベルまで根っこまで掘り下げた
ほうが楽しいですよ ^^


T2A2+9
会議室デビュー日: 2002/06/19
投稿数: 13
投稿日時: 2005-02-09 14:42
型ってなんですかとゆうか、
人とコンピューター双方に対して正確に情報を与えるための手段だと思います。

もっとも、コンピューターに対してメモリー、スピードなどの資源の使い方を示すものだと思います。
ほろりん
ベテラン
会議室デビュー日: 2004/11/24
投稿数: 98
お住まい・勤務地: あそこ
投稿日時: 2005-02-10 13:33
引用:

るぱんさんの書き込み (2005-02-08 00:39) より:
[僕らしいって(;^_^A アセアセ


るぱんさんかわいい (*^^*)ポ

スキルアップ/キャリアアップ(JOB@IT)