───────────　サポートスタッフ募集　───────────
【企 業 名】株式会社ファンコミュニケーションズ
【概　　要】「A8.net」を運用する株式会社ファンコミュニケーションズが
　　　　　　業務拡大につきサポートスタッフを募集します！正社員でも
　　　　　　アルバイトでもOKです
【業務内容】顧客サポート業務
　http://af1.mag2.com/m/af/0000008658/001/s00000000002008/006
──────────────────────────────────
////////////////////////////////////////////////////////////////////
/*

    KAB-studio.h


    (C)KAB-studio 1999 - 2005 ALL RIGHTS RESERVED.
        http://www.kab-studio.biz/
        info@mail.kab-studio.biz

    送信日： 2005/10/31(Mon) No.330
    配信数： 1865
    発行元： まぐまぐ ( URL: http://www.mag2.com/  ID: 0000012198 )
*/
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
// NEW!!
http://www.kab-studio.biz/index.html

2005/10/31 (Mon)
　ほとはー外伝３にP.40を追加！
[ 三人合体ホットハーブ 外伝３ 【ワタシ の キロク】 ]
http://www.kab-studio.biz/Comic/HotHerbA3/index.html

2005/10/31 (Mon)
　#pragma twice ホームページ版にアーカイブ追加！
13.27 手作業撲滅！のつづき
13.28 日付の比較
[ #pragma twice ]
http://www.kab-studio.biz/Programing/PragmaTwice/index.html


////////////////////////////////////////////////////////////////////
// ちょお普通な日記
http://www.kab-studio.biz/nikki2/index.html

2005/10/23 (Sun)
　今日は状態良し。午前中はアニメ観つつ月曜更新分を。バックアップ取っ
てほとはー外伝３描いてぷらとわ書いて JavaA2Z に単語追加して以上。昼寝
が日課。別の病院行ってきます。明日あさってはお休み。もう少ししたら
引っ越す？

2005/10/24 (Mon)
　実家里帰りのためお休み。

2005/10/25 (Tue)
　昨日今日と実家へ。昨日の午前中に立川の災害医療センターで診てもらう
も……。その他色々して以上。 Machician が……。

2005/10/26 (Wed)
　１０時に起きて、午前中は某専門学校のテキストの推敲。カブカテキョの
月謝請求。夕方に調子悪くなってうだー。薬のせい？　日本シリーズ見て 
JavaA2Z の単語追加して以上。

2005/10/27 (Thu)
　昨日の夜中と今朝はカブカテキョ。某専門学校の新しいおしごとの話と、
テキスト書きの手続きまわり。さらにカブカテキョして、 JavaA2Z の単語
追加しようとしたらうまくいかず。色々残ってて忙しい！

2005/10/28 (Fri)
　１０時起き。午前中はカブカテキョと平行してビデオのダビング。午後に
Fate/hollow ataraxia 来る。少しプレイしてからカブカテキョを。明日は 
WPC Expo ……行くのか？　そして経緯はブログで。

2005/10/29 (Sat)
　朝はカブカテキョ。結局 WPC Expo は行かず。アニメときららの感想。
夕方に JavaA2Z 、かぶヘッダー、「Ajaxで」。ねこみみかは別で行きます。
ペンディングが……。


////////////////////////////////////////////////////////////////////
// かぶろぐ。
http://d.hatena.ne.jp/kab_studio/

2005/10/23 (Sun)
http://d.hatena.ne.jp/kab_studio/20051023
起きた。
[アニメ]銀盤カレイドスコープ 第3話「トリプル・トラブル」
[アニメ]おねがいマイメロディ 第30話「子供にもどったらイイナ！」
[アニメ]ゾイドジェネシス 第29話「秘密」
[アニメ]魔法戦隊マジレンジャー 
　第34話「勇気の絆〜ゴール・ゴル・ゴルド〜」
[アニメ]交響詩篇エウレカセブン 第27話「ヘルタースケルター」
[アニメ]蟲師 第1話「緑の座」
[ほとはー]ほとはー外伝３ P.39
[Prog]ぷらとわ追加。
[JavaA2Z]単語追加。

2005/10/24 (Mon)
http://d.hatena.ne.jp/kab_studio/20051024
今日はお休みです。

2005/10/25 (Tue)
http://d.hatena.ne.jp/kab_studio/20051025
帰ってきた。
[Machician]第１１話 闇の背中 (1) [△ ▽]

2005/10/26 (Wed)
http://d.hatena.ne.jp/kab_studio/20051026
起きたのですよ。
Amazonアソシエイトギフト券
Fate/hollow ataraxiaいつ来るかな〜。
千葉ロッテマリーンズ、日本一！
[JavaA2Z]単語追加。
[Machician]第１１話 闇の背中 (2) [△ ▽]

2005/10/27 (Thu)
http://d.hatena.ne.jp/kab_studio/20051027
起きたー。
[アニメ]灼眼のシャナ 第4話「惑いのフレイムヘイズ」
[アニメ]ARIA 第4話「その 届かない手紙は…」
[アニメ]IGPX 第4話「皇帝の名の下に」
[アニメ]はっぴぃセブン 第4話「男どき女どきプラモどき」
[アニメ]Canvas2 第4話「焦燥のコバルトブルー」
[アニメ]ガン×ソード 第17話「座標Xを追え」
忙しい
専門バカに陥らない心掛け
調布祭福田研OB・OG会
Fate発送〜。
[Machician]第１１話 闇の背中 (3) [△ ▽]

2005/10/28 (Fri)
http://d.hatena.ne.jp/kab_studio/20051028
久しぶりに早起き。
[アニメ]トリニティ・ブラッド 
　第24話「THE CROWN OF THORNS II. THE ROAD OF OATH」(終)
[アニメ]SHUFFLE! 第15話「取り戻したもの」
[アニメ]舞-乙HiME 第4話「炎の転入生!!」」
[アニメ]ローゼンメイデン・トロイメント 第2話「槐」
[アニメ]SoltyRei 第4話「friend」
[買]本屋で買ってきたもの。
[Fate/hollow ataraxia]Fate/hollow ataraxia届きました。
[Fate/hollow ataraxia]とりあえず一周。
[Fate/hollow ataraxia]3周くらい。
How Much Is My Blog Worth?
[Machician]第１１話 闇の背中 (4) [△]

2005/10/29 (Sat)
http://d.hatena.ne.jp/kab_studio/20051029
起きたんだけど。
WPC Expoは多分行かない……。
[アニメ]絶対少年 第23話「幸せを運ぶ闇の光」
[アニメ]ふしぎ星の☆ふたご姫 
　第31話「宝の地図☆掘って掘って掘りまくれ」
[アニメ]ノエイン 第3話「オワレテ…」
[アニメ]魔法少女リリカルなのはA’s 第4話「新たなる力、起動なの！」
[きらら]まんがタイムきららCarat 12月号
[JavaA2Z]単語追加。
「まぐまぐ！」アフィリエイト


////////////////////////////////////////////////////////////////////
// Ajaxでエロゲーを作るブログ
http://d.hatena.ne.jp/AjaxEroge/

2005/10/29 (Sat)
http://d.hatena.ne.jp/AjaxEroge/20051029
[CSS]クリッピング

////////////////////////////////////////////////////////////////////
// 風雅、舞い
http://www.kab-studio.biz/Novel/Fuga/index.html

■　第十二章　超越する存在　−３５−

「お前とは、サシでやる。舞、下がってろ」
「え」
「いいから下がってろ！！」
　舞は、二度うなずいて、離れていく。
「……」
　舞には、分かっていた。
　昔に戻るんだ。
　あの昔話に出てきた鬼のように。
　舞は洋一を見る。
「左さん……場合によっては、許しませんから」
「場合によっては？」
「……雅樹、もう元には戻らないかも」
「彼が死ぬ、って事は考えないんだ」
「それは」
　舞は、雅樹を見つめた。
「あり得ません」
「蒼炎……」
　雅樹が手に持つ刀を、蒼い炎が包む。
「俺を殺せるという話、面白いと思いたい所だが……舞達を巻き込むお前の
やり方、絶対に許さん」
「うん、がんばって」
「ッ！！」
　神速。
　雅樹は遥へと突っ込む。距離、３メートル。
　遥が、雅樹へと一歩進んだ瞬間。
「ヒュッ」
　刀を横に薙ぐ、その刀が、鈍い音を立てて上へと跳ね上がる。
　跳ね上げられた刀を右手で捉えつつ、左手を遥へと突き出す。右足を蹴り
出した格好の遥に向けられたそれは、閃光。
　赤道近くの熱い日差しすら消えてしまう、白い世界。
　雅樹は目を閉じ、遥も目を閉じている。
　続けて雅樹は左手を鳴らす。指先を取り巻くように銀色の光が疾り、それ
を遥へと向ける。銀色の光が一条の直線となって、まだフラッシュが消え
去っていないその空間を貫いた。
　それは、遥のすぐ側をかすめていった。
                                                              (続く)

////////////////////////////////////////////////////////////////////
// JavaA2Z
http://www.kab-studio.biz/Programing/JavaA2Z/index.html

■追加・更新単語

前置インクリメント演算子
後置インクリメント演算子
regex
regexp
ディスパッチャー
内部クラス
インナークラス
ローカルクラス
外部クラス
ByteArrayInputStream
SequenceInputStream
StringBufferInputStream
PipedInputStream


////////////////////////////////////////////////////////////////////
───────────　サポートスタッフ募集　───────────
【企 業 名】株式会社ファンコミュニケーションズ
【概　　要】「A8.net」を運用する株式会社ファンコミュニケーションズが
　　　　　　業務拡大につきサポートスタッフを募集します！正社員でも
　　　　　　アルバイトでもOKです
【業務内容】顧客サポート業務
　http://af1.mag2.com/m/af/0000008658/001/s00000000002008/006
──────────────────────────────────
////////////////////////////////////////////////////////////////////
// #pragma twice
http://www.kab-studio.biz/Programing/PragmaTwice/index.html

　Version 16.03
this ポインタ

「前回はメンバ変数とメンバ関数の作成をしてみました」
『だけど、肝心な所はぐらかされちゃったんだけど』
「そう、なぜメンバ関数はクラス型変数を使用しないと呼び出せないのか」

    // クラス型変数を使わずに
    // メンバ関数を呼び出します。
    CData.Output();
    // コンパイルエラー：
    // error C2143: 構文エラー : ';' が '.' の前に必要です。

    CData::Output();
    // コンパイルエラー：
    // 'CData::Output' : 
    // 静的でないメンバ関数の中で呼び出しが正しくありません。

『っていう形じゃ呼び出せなくて』

    // メンバ関数を呼び出します。
    cData.Output();

『ならいい、って考えると、メンバ関数ってクラス型変数の中にあるような
気がするんだけど』
「でも、メンバ関数に限らず関数は変数の中に入れられません」
『だよね、関数ポインタとかに使えるくらいで変数の中には入れられないん
だから。ってことはどういうことなの？』
「まず、メンバ関数の中ではメンバ変数にアクセスできなければなりませ
ん」
『だよね』
「そのために、そのメンバ変数が入っている、クラス型変数と一緒に使う必
要があります」
『その辺は分かるんだけど……でもそれじゃクラスの中にメンバ関数が入っ
てないことにならないし』
「そう、つまりどうクラス型変数とメンバ関数が結びついているか。実は、
メンバ関数には〈隠された引数〉があるんです」
『隠された引数？』
「そう。それは、自クラスのポインタ。全てのメンバ関数は、自クラスの
ポインタを引数として隠し持っているんです。たとえば」

// CDataクラスのOutput()メンバ関数の定義。
void CData::Output()
{
    // 出力します。
    char pch[256];
    sprintf( pch, "%d\n", m_iValue );
    OutputDebugString( pch );
    // 100
}

「というメンバ関数は」

// CDataクラスのOutput()メンバ関数の定義、の仮の姿。
void Output( CData *p_pcData )
{
    // 出力します。
    char pch[256];
    sprintf( pch, "%d\n", p_pcData->m_iValue );
    OutputDebugString( pch );
    // 100
}

「という関数になります」
『お、 CData *p_pcData が増えた！』
「この引数が〈隠された引数〉。この渡されたポインタを通してメンバ変数
にアクセスします」
『 p_pcData->m_iValue ってしてるとこがそうだね』
「これなら、メンバ変数にアクセスできます。呼び出す側は」

int WINAPI WinMain
    ( HINSTANCE p_hInstance
    , HINSTANCE p_hPrevInstance
    , LPSTR p_pchCmdLine
    , int p_iCmdShow
    )
{
    // CDataクラスの変数を宣言します。
    CData cData;
    // m_iValueに値を入れます。
    cData.m_iValue = 100;
    // メンバ関数を呼び出します。
    cData.Output();

    return 0;
}

「が」

int WINAPI WinMain
    ( HINSTANCE p_hInstance
    , HINSTANCE p_hPrevInstance
    , LPSTR p_pchCmdLine
    , int p_iCmdShow
    )
{
    // CDataクラスの変数を宣言します。
    CData cData;
    // m_iValueに値を入れます。
    cData.m_iValue = 100;
    // メンバ関数もどきを呼び出します。
    Output( &cData );

    return 0;
}

「に置き換わった感じかな」
『こんなふうに、裏では引数に渡されてるってこと？』
「そういうこと。これならメンバ変数にアクセスできるでしょ」
『確かに』
「こういう置き換えを、メンバ関数がコンパイルされるときにしている、
ってことなんです」
『隠された引数があって、そこにクラス型変数のポインタを渡す、と』
「これには、歴史が関係しているんです」
『れ、歴史？』
「元々、C言語にはメンバ関数がありませんでした。それが、C++言語になっ
てメンバ関数が追加されました」
『つまり、元々関数があって、それを拡張したのがメンバ関数、ってこと？』
「そういうこと。メンバ関数はあくまで関数。関数でメンバ変数を使用でき
るようにするため、メンバ関数には隠された引数を持たせ、〈クラス型変数
.メンバ関数()〉としたらクラス型変数のアドレスが渡される、という仕様
にしたわけです」
『だからメンバ関数の中でメンバ変数が使えるし、そのための引数に渡す必
要があるから、クラス型変数と一緒にメンバ関数を呼び出さなきゃいけない
と』
「これは、あとあと重要になるから、このイメージはしっかり憶えておい
て」
『重要なの？』
「たとえば、ウィンドウプロシージャ」
『ウィンドウプロシージャ？　なんでここで』
「ウィンドウプロシージャって、関数ポインタを渡すでしょ。でも、その
関数ポインタにメンバ関数のポインタは渡せないんです」
『あ、そうなんだ、試したことなかったけど』
「その理由もこの辺にあるから。もう少し先に説明するけどね」
『そか、なんとなく分かるかも……』
「さて、クラス型変数がポインタとして引数に渡される、という説明をしま
した。実は、この引数、ちゃんと存在します」
『え、そうなの？　存在しない引数にアクセスできちゃうの？』
「できちゃうんです。隠された引数は、必ず変数名が【this】になります」
『じす？』
「そう、 this 、〈これ〉。メンバ関数の中ではこの this という変数に
アクセスできます」

// CDataクラスのOutput()メンバ関数の定義。
void CData::Output()
{
    // thisポインタを通してメンバ変数にアクセスします。
    int iValue = this->m_iValue;

    // 出力します。
    char pch[256];
    sprintf( pch, "%d\n", iValue );
    OutputDebugString( pch );
    // 100
}

『うわ、本当にアクセスしてる！』
「メンバ関数の中では、常に this 変数を使用することができます。この
変数の型は、クラスのポインタになります」
『この例だと CData * だね』
「そういうこと。 this には、呼び出し元のクラス型変数のアドレス、つま
り &cData が格納されています」
『だから、メンバ変数にアクセスできるってわけね』
「重要なのは、こうしてプログラム上でアクセスできるけど、プログラムで
使わなくても、裏では使っている、ってこと」
『あー、そういえば隠れた引数なんだもんね』
「そう、だから」

// CDataクラスのOutput()メンバ関数の定義。
void CData::Output()
{
    // 出力します。
    char pch[256];
    sprintf( pch, "%d\n", m_iValue );
    OutputDebugString( pch );
    // 100
}

「は、コンパイル時には」

// CDataクラスのOutput()メンバ関数の定義。
void CData::Output()
{
    // 出力します。
    char pch[256];
    sprintf( pch, "%d\n", this->m_iValue );
    OutputDebugString( pch );
    // 100
}

「に変換されている、というわけです」
『あ……そっか、メンバ関数の中でメンバ変数にアクセスできるのは、 
this を通して呼び出し元のクラス型変数にアクセスしてるから……
ってことなんだ』
「そういうこと！　重要な点は、まず隠された引数を通して、呼び出し元の
クラス型変数のポインタが渡され、それは this ポインタとして使うことが
できて、その this ポインタを通してメンバ変数にアクセスしてる、という
こと」
『それを、コンパイルするときに自動的にしてくれてる、ってことね』

/*
    Preview Next Story!
*/
『あ、まだ public とか private って教わってないような』
「そういえばそうだね。次回はそれにしようか」
『あれ？　でも教わってるような気も』
「どっち……」
『というわけで次回』
＜ Version 16.04 メンバのスコープ ＞
「につづく！」
『まぁ二度教えればいいじゃん』
「そういうもんだいでは」
『コピペでいいんだし』
「そういう問題でも……」


////////////////////////////////////////////////////////////////////
/*                          ご注意！！                            */

・このメールを返信しないでください。
・ご意見・ご希望・ご感想は[チョー普通な日記]よりお送りください。
http://www.kab-studio.biz/nikki2/index.html
・購読登録を解除したいときにはこのページで行なってください。
http://www.mag2.com/m/0000012198.htm
・解除は自分で行なってください。
・バックナンバーはこれらのページにあります。
http://backno.mag2.com/reader/Back?id=0000012198
http://www.kab-studio.biz/Freeware/index.html#MailMagazine


////////////////////////////////////////////////////////////////////
/*
    KAB-studio.h
      Weekly Mail Magazine.
      Written by Kaburaya Seiden.
      http://www.kab-studio.biz/Info/MailMagazine/

    (C)KAB-studio 1999 - 2005 ALL RIGHTS RESERVED.
        http://www.kab-studio.biz/
        info@mail.kab-studio.biz
*/
////////////////////////////////////////////////////////////////////

