////////////////////////////////////////////////////////////////////
◎ ≪---= 業務用小型ダーツマシン「ダーツイーグル」

こんなに小さくても立派な業務マシン！
ダーツマシン設置でちょっとしたお小遣い稼ぎ。

できるだけ省スペースで、安価に置けるダーツマシンが↓ここ↓にあります。
『大阪ギフトショー新製品コンテスト大賞受賞！』
http://af1.mag2.com/m/af/0000008658/001/s00000001980002/006
////////////////////////////////////////////////////////////////////
/*

    KAB-studio.h


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

    送信日： 2006/03/20(Mon) No.349
    配信数： 1797
    発行元： まぐまぐ ( URL: http://www.mag2.com/  ID: 0000012198 )
*/
////////////////////////////////////////////////////////////////////

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

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


2006/03/13 (Mon)
　#pragma twice ホームページ版にアーカイブ追加！
15.01 ソースファイルのコンパイル
15.02 関数とリンク
[ #pragma twice ]
http://www.kab-studio.biz/Programing/PragmaTwice/index.html


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

2006/03/12 (Sun)
　午前中はアニメ観つつ更新。午後はぐだー。明日WBCを観るため早く起き
る。そしてキャンセルしよー。

2006/03/13 (Mon)
　マリオカートDSが止まらない。７時半に起きてWBCを観る。ぷらとわ書い
てぎりぎりで送信。午後に確定申告の書類を送付。来週は某専門学校関係の
がある。そして年。

2006/03/14 (Tue)
　８時半起き。早起きモード持続。某専門学校のプログラムを朝から作るも
想像以上に面倒で終わらない。縛りが複雑。

2006/03/15 (Wed)
　一日掛けて某専門学校のプログラム作り。疲れた……。それが終わってか
らカブカテキョ。マリオカートDSは隠し要素全部出しました。そして設計書。

2006/03/16 (Thu)
　1000円の目覚まし購入。午前中はカブカテキョ、午後はWBC。緊張感ある
試合だった。今週はお絵描きできてない。そして詳細設計。

2006/03/17 (Fri)
　８時半に起きて、午前中はダビングとかカブカテキョ、さらにマンション
更新手続きとか。ニンテンドーWi-Fi USBコネクタが届くもXP専用で使えず。
午後はカブカテキョ。夜に無線LANハブを買って、初めてマリオカートDSの
Wi-Fi対戦をしてみる。勝てる気がしねぇ。

2006/03/18 (Sat)
　完全に駄目な日。眠すぎる。カブカテキョをこなしただけ。今週は散々。
来週は某専門学校のがあるから再来週にストックを作らないと。


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

2006/03/12 (Sun)
http://d.hatena.ne.jp/kab_studio/20060312
起きた。
[KAB-studio]ぷらとわ追加。
[KAB-studio][ほとはー]ほとはー外伝３ P.55
[アニメ]おねがいマイメロディ 第50話「センパイを救えたらイイナ！」
[アニメ]ゾイドジェネシス 第48話「神の雷」
[アニメ]轟轟戦隊ボウケンジャー 第4話「失われたビークル」
[アニメ]交響詩篇エウレカセブン 第46話「プラネット・ロック」
[アニメ]タクティカルロア 第10話「ボトム・ライン」
[アニメ]陰からマモル！ 第9話「小鐘井UFO注意報！」
[アニメ]蟲師 第20話「筆の海」(終)

2006/03/13 (Mon)
http://d.hatena.ne.jp/kab_studio/20060313
起きた。
[野球]WBC2006 2次リーグ 日本vsアメリカ
ぎりぎり。
確定申告送付。
やばいです。
[アニメ]Fate/stay night 第10話「穏やかな幕間」

2006/03/14 (Tue)
http://d.hatena.ne.jp/kab_studio/20060314
起きた。
[link][Prog]Apache 2.2でWebサイトをパフォーマンスアップ！
[アニメ]Canvas2 第22話「インディゴの夜明けに」
疲れた……終わらない……

2006/03/15 (Wed)
http://d.hatena.ne.jp/kab_studio/20060315
起きた。
[野球]WBC2006 2次リーグ 日本vsメキシコ
やっと終わった……。
やば。

2006/03/16 (Thu)
http://d.hatena.ne.jp/kab_studio/20060316
起きたー。
[アニメ]灼眼のシャナ 第23話「星黎殿の戦い」
[アニメ]かしまし〜ガール・ミーツ・ガール〜 第10話「小さな嵐」
[アニメ]IGPX 第21話「決断」
[アニメ]ふしぎ星の☆ふたご姫 第49話「みんなの心☆届け、ブライトに！」
[野球]WBC2006 2次リーグ 日本vs韓国
[Tips][link]日記の下におすすめ商品を表示する機能の追加につきまして

2006/03/17 (Fri)
http://d.hatena.ne.jp/kab_studio/20060317
起きた。
[アニメ]かりん 第17話「さらばエルダで　恥ずかしい」
[アニメ]舞-乙HiME 第23話「不思議の谷のアリカ」
[アニメ]REC 第7話「戦争と平和」
[アニメ]SoltyRei 第20話「訪レル災い」
[アニメ]ノエイン 第22話「ミライへ」
[アニメ]マジカノ 第11話「聖なる夜ってマジですか？」
[買][装備]ニンテンドーWi-Fi USBコネクタ
[野球]WBC2006 日本、準決勝進出！
諸手続。
[買][装備]WLA2-G54

2006/03/18 (Sat)
http://d.hatena.ne.jp/kab_studio/20060318
起きた。
[アニメ]ふしぎ星の☆ふたご姫 第50話「大暴走！☆ブラッククリスタル」
[きらら]まんがタイムきららMAX 2006年5月号


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

（今週はお休みです）


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

■　第十三章　二人の間　−１１−

「なんだか、自分は関係ないって言いぐさね」
「関係あるから、だ。お前、赤葉の話聞いただろ」
「うん、だからこそ」
「ちげーよ、その前の話だ」
「あ……」
　戦中の話。
「俺達がここに来た目的はなんだ」
「玄き泉の洗礼を受けた人間がいないか探すため、いなければ洗礼を受けら
れるか調査するため」
「その目的は」
「災厄の日に四つの泉を受け継ぐ者がいなければならない」
「そんな日、これまで何百年となかったんだ。少なくとも文献には載ってい
ない」
「今回も嘘だっていうの！？」
「そうじゃねぇよ、今回は特別だってことだ。災厄の日ってのがどんなもん
かはわかんねぇけど、その日のために何百年って犠牲を払う必要があるの
か、ってことだ」
　犠牲。
　泉を継ぐために、生活を、人生を、全てを犠牲にするということ。
「その日のために、俺は、何十年と生かされ続けてきた」
「……雅樹……？」
「きっと、災厄の日っていうのを何とかするのに、俺達の力が必要なんだ
ろ。それまではいてやるよ。お前や、結白さんに恩があるからな。でも」
　雅樹は、ゆっくりと息を吐く。
「正直、もう疲れたわ」
「雅樹、まさか……」
「ああ」
　雅樹は、寂しそうな笑みを向けて、言う。
「舞、俺、もう死ぬわ」
                                                              (続く)

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

■追加・更新単語

（今週の追加はありません）


////////////////////////////////////////////////////////////////////
◎ ≪---= 業務用小型ダーツマシン「ダーツイーグル」

こんなに小さくても立派な業務マシン！
ダーツマシン設置でちょっとしたお小遣い稼ぎ。

できるだけ省スペースで、安価に置けるダーツマシンが↓ここ↓にあります。
『大阪ギフトショー新製品コンテスト大賞受賞！』
http://af1.mag2.com/m/af/0000008658/001/s00000001980002/006
////////////////////////////////////////////////////////////////////
// #pragma twice
http://www.kab-studio.biz/Programing/PragmaTwice/index.html

　Version 16.22
演算子のオーバーロードの実例、の続き

「前回は、配列ポインタの代わりになる CIntPointer クラスを作成しまし
た」
『演算子のオーバーロード使いまくって、ポインタと同じような感じにする
んだよね』
「そう。 ++演算子、 !=演算子、 *演算子をオーバーロードして、ポインタ
と同じように使えるようにします。実際の使用例はこんな感じ」

// Main.cpp
#include <Windows.h>
#include <stdio.h>

#include "IntPointer.h"

int WINAPI WinMain
    ( HINSTANCE p_hInstance
    , HINSTANCE p_hPrevInstance
    , LPSTR p_pchCmdLine
    , int p_iCmdShow
    )
{
    int iArray[5];
    // forで全部セットします。
    for
        ( CIntPointer cIntPointer = iArray
        ; cIntPointer != ( iArray + 5 )
        ; ++cIntPointer
        )
    {
        *cIntPointer = 100;
    }

    // 配列の方を出力します。
    char pch[256];
    sprintf
        ( pch
        , "%d, %d, %d, %d, %d\n"
        , iArray[0] 
        , iArray[1] 
        , iArray[2] 
        , iArray[3] 
        , iArray[4] 
        );
    OutputDebugString( pch );
    // 100, 100, 100, 100, 100

    return 0;
}

『うわ、本当にポインタと同じように使えてる！』
「それぞれの箇所を見てみます。まず for の初期化部分」

    for
        ( CIntPointer cIntPointer = iArray

「ここでは、CIntPointerクラスの変数を宣言して、その時コンストラクタ
で int 型ポインタを受け取っています」
『コンストラクタって事は、これのことだね』

// コンストラクタ。
CIntPointer::CIntPointer( int *p_pi )
    : m_pi( p_pi )
{
}

『なるほど、なんか普通に代入しているように見えて、もうここから色々
やってるのね』
「そう、引数1つのコンストラクタは =演算子で呼び出せる、というのを利
用しているわけです。次に、 for の条件部分」

        ; cIntPointer != ( iArray + 5 )

「ここでは、 !=演算子のオーバーロードメンバ関数を呼び出しています」
『これね』

// !=演算子。
BOOL CIntPointer::operator !=( int *p_pi )
{
    if( p_pi == m_pi )
    {
        return FALSE;
    }
    return TRUE;
}

『ポインタを引数に受け取って、一致していたら FALSE 、そうじゃなかっ
たら TRUE を返す、ってわけね』
「そうすることで、ポインタの比較と同じことをしている、というわけ」
『あ、そっか、ポインタを真似てるんだもんね』
「そこが重要かな。さっきのコンストラクタもそうだけど、ポインタと同じ
ように使える、っていうことが重要だから」
『クラスと意識しなくても使えるってわけね』
「そういうこと。同じく、 ++演算子のオーバーロードも」

        ; ++cIntPointer

『これはこれね』

// ++演算子。
int * CIntPointer::operator ++()
{
    return ++m_pi;
}

「こういった演算子のオーバーロードを行うことで、ポインタと同じように
扱うことができるわけ」
『ポインタ似のクラスになるってわけね。 for の中のこれもそうだよね』

        *cIntPointer = 100;

『これは *演算子だからこれね』

// *演算子。
int &CIntPointer::operator *()
{
    return *m_pi;
}

『これちょっと難しいかも』
「そうだね、前回のアドレスの図を使うと、 ++演算子のオーバーロード
メンバ関数を呼び出すごとに、 m_pi は以下のようにアドレスが増えて
いきます」

iArray                                              iArray + 5
m_pi      ++m_pi      ++m_pi      ++m_pi      ++m_pi      ++m_pi
↓          ↓          ↓          ↓          ↓          ↓
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
←       → ←       → ←       → ←       → ←       →    
 iArray[0]   iArray[1]   iArray[2]   iArray[3]   iArray[4]

『うん、 operator ++() で ++m_pi してるからだよね』
「そうそう。で、その時その時の *m_pi は、 iArray の各要素と同じにな
るんです」

iArray                                              iArray + 5
m_pi      ++m_pi      ++m_pi      ++m_pi      ++m_pi      ++m_pi
↓          ↓          ↓          ↓          ↓          ↓
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
←       → ←       → ←       → ←       → ←       →    
 iArray[0]   iArray[1]   iArray[2]   iArray[3]   iArray[4]
 *m_pi       *m_pi       *m_pi       *m_pi       *m_pi       

『そか、ポインタに * つけると、その位置の変数になるんだもんね』
「 Version 4.10 ( No.060 ) や Version 5.03 ( No.068 ) で説明したよう
に、 iArray[iF1] と *( iArray + iF1 ) 同じ。だから、 *m_pi はそれぞ
れの要素となります」
『で、…………？』
「 operator *() は、その参照を返しているでしょ。ということは、 
iArray[0] や iArray[1] といった各要素の参照を返している、つまり」

        *cIntPointer = 100;
          ↓↓↓↓↓↓↓
        iArray[iF1] = 100;

「みたいな感じになるんです」
『あ、要素に代入！』
「このように、要素の参照を返すことで、要素そのものとして扱うことがで
きるわけです」
『はー、なんか複雑かも』
「まぁそうなんだけど、こういうことを一から考え出す必要はないし、
パターンのひとつと思った方がいいかも」
『そのパターンがいっぱいあると憶えきれないんだけど』
「確かに……話を戻すと、このように iArray の各要素の参照を返すこと
で、それぞれの要素に代入することができます。その結果を確認しているの
が以下の箇所」

    // 配列の方を出力します。
    char pch[256];
    sprintf
        ( pch
        , "%d, %d, %d, %d, %d\n"
        , iArray[0] 
        , iArray[1] 
        , iArray[2] 
        , iArray[3] 
        , iArray[4] 
        );
    OutputDebugString( pch );
    // 100, 100, 100, 100, 100

「出力しているのは iArray の方だから間違えないで」
『そか、 CIntPointer を使っていたけど、ちゃんと iArray の方に値が入
れられてる、ってわけね』
「そういうこと。 CIntPointer は、前回の配列の例での、 pi の代わりだ
から」
『そのポインタの代わりになるクラス、ってわけね』
「重要なのは、ポインタに似せる、ということ。演算子のオーバーロードの
目的は、トリッキーなことをするためじゃなく、 int みたいな基本型と同
じことがクラスでできるようにすることだから」
『こんなふうに、ポインタと同じように使えるようにってことね』
「実際にはここまでちゃんとしたクラスを作ることはあまりないけど、使う
ことはあるかもしれないから、今回説明したところくらいは憶えておくとい
いかな」

/*
    Preview Next Story!
*/
『水希ちゃん、テンプレートってなに？』
「それは #pragma twice では説明しません」
『ええーっ！？　そのためのフリじゃなかったの？』
「テンプレート解説したらそれだけで半年かかるから」
『いーじゃんいまさら……』
「次回は引数のデフォルト値についてです」
『あー話逸らした！』
「というわけで次回」
＜ Version 16.23 引数のデフォルト値 ＞
『につづく！』
「さすがにもう長すぎるから、ね……」
『もう８年目に突入だもんね……』


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

・このメールを返信しないでください。
・ご意見・ご希望・ご感想は[チョー普通な日記]よりお送りください。
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 - 2006 ALL RIGHTS RESERVED.
        http://www.kab-studio.biz/
        info@mail.kab-studio.biz
*/
////////////////////////////////////////////////////////////////////

