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

お客さまの少ない、ちょっとした空き時間にダーツタイムを。
壁掛け型で省スペース。これならどんな場所でも設置できます。

『大阪ギフトショー新製品コンテスト大賞受賞！』
http://af1.mag2.com/m/af/0000008658/001/s00000001980002/011

＝~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~＝----≫◎
////////////////////////////////////////////////////////////////////
/*

    KAB-studio.h


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

    送信日： 2006/04/03(Mon) No.351
    配信数： 1794
    発行元： まぐまぐ ( URL: http://www.mag2.com/  ID: 0000012198 )
*/
////////////////////////////////////////////////////////////////////
// 祝・７周年！
『どんどんぱふぱふー！』
「このたび、 KAB-studio.h は７周年を迎えました！」
『もうこの分なら何十年と続きそうねー』
「…………」
『そこ黙らない！！』
「基本的に、今年度の変更はありません」
『ニュースと、風雅、舞い、#pragma twiceの三本立てね』
「ちなみに、今年からRSSの配信も行っています」
http://www.kab-studio.biz/rss.xml
『こっちならその時その時の最新情報が取得できるってわけね』
「こちらもご利用ください」
『……もしかして、やっぱり？』
「…………」


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

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


2006/04/03 (Mon)
　#pragma twice ホームページ版にアーカイブ追加！
15.05 インクルードの順番
15.06 ヘッダーファイルを２度読み込む？
[ #pragma twice ]
http://www.kab-studio.biz/Programing/PragmaTwice/index.html


2006/04/03 (Mon)
　KAB-studio.hの縮刷版を更新！
[ ダウンロードルーム ]
http://www.kab-studio.biz/Freeware/index.html#MailMagazine


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

2006/03/26 (Sun)
　午前中はアニメ観つつ更新。午後はカブカテキョ。アニメの最終回多し。
午後もカブカテキョ。ほとはー外伝３はページ追加できず。これからの予
定。それぞれに特徴が。そして熱く語らない。

2006/03/27 (Mon)
　８時過ぎに起きてひたすらカブカテキョ。終わらない終わらない。のべ
受講者数が２０人を超えた。そしてヘルプデスクとか？　どういう形で
有料モデルを構築するか。

2006/03/28 (Tue)
　７時半起き。４月３日〜５月１５日の講習先Ａ社へ行ってお打ち合わせ。
９時半からで助かる。夜はカブカテキョ。４月の方が楽かも。

2006/03/29 (Wed)
　８時起き。午前中はビデオのダビングとカブカテキョ。午後にほとはー
外伝３のネーム切り。マシンが落ちまくる。 WinXP 入れた方がいいのか
も。キーボードが原因っぽい気も。そして土下座携帯。

2006/03/30 (Thu)
　８時起き。気合い入れて起きないと。今日のメインもカブカテキョ。
ぷらとわ２話書き。マンション関係とか。テレビの見方を変える。そして
MSDN。

2006/03/31 (Fri)
　SoltyRei最終回をリアルタイムで観たんで眠い。アニメ観たりダビング
したりカブカテキョ書いたり、ぷらとわ２話書いてストック作成。夕方に
横浜へ。ピッチの電池交換とお買い物。ゼルダが……。帰ってからは
メトロイドしてカブカテキョ書いて以上。

2006/04/01 (Sat)
　８時半起き。午前中は洗濯してお買い物して両面コピー探して、お昼に
ダウン。夜に飲みへ。月曜の講義大丈夫か？


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

2006/03/26 (Sun)
http://d.hatena.ne.jp/kab_studio/20060326
起きた。
[KAB-studio]ぷらとわ追加。
[KAB-studio][ほとはー]ほとはー外伝３ P.56修正
[アニメ]おねがいマイメロディ 
  第52話「夢の歌がとどいたらイイナ！」(終)
[アニメ]ゾイドジェネシス 第50話「再生」(終)
[アニメ]轟轟戦隊ボウケンジャー 第6話「呪いの霧」
[アニメ]交響詩篇エウレカセブン 第48話「バレエ・メカニック」
[アニメ]タクティカルロア 第12話「九番目の命題（ノイント・テーゼ）」
[アニメ]陰からマモル！ 第11話「ばいばい、ゆうな」
[アニメ]陰からマモル！ 第12話「陰からマモル！」(終)
[きらら][link]「バーチャルFPたまきの保険入門」がキャラットに

2006/03/27 (Mon)
http://d.hatena.ne.jp/kab_studio/20060327
起きたー。
[買]sakusaku DVD Ver.2.0

2006/03/28 (Tue)
http://d.hatena.ne.jp/kab_studio/20060328
起きた。
帰ってきた。
[アニメ]Canvas2 第24話「虹色（なないろ）のフィナーレ」(終)
[Google AdSense]振込
[きらら]まんがタイムきららCarat 2006年5月号

2006/03/29 (Wed)
http://d.hatena.ne.jp/kab_studio/20060329
起きた。
[アニメ]Fate/stay night 第12話「空を裂く」
[link]成分解析
マシン落ちたー。
[買]Amazonから届いたもの

2006/03/30 (Thu)
http://d.hatena.ne.jp/kab_studio/20060330
起きたー。
[アニメ][link]「青山剛昌短編集」放送延期
[アニメ]かしまし〜ガール・ミーツ・ガール〜 
  第12話「やがて恋が始まる」(終)
[アニメ]IGPX 第23話「運命」
[アニメ]IGPX 第24話「勝利の行方」(終)

2006/03/31 (Fri)
http://d.hatena.ne.jp/kab_studio/20060331
起きた。
sakusaku 木村カエラ様最終回。
[アニメ]かりん 第19話「ふたりのイブは 恥ずかしい」
[アニメ]舞-乙HiME 第25話「蒼天の乙女」
[アニメ]舞-乙HiME 第26話「Dream☆Wing〜夢の在処〜」(終)
[アニメ]REC 第9話「いつも２人で」(終)
[アニメ]ノエイン 第24話「ハジマリ」(終)
[アニメ]マジカノ 第13話「最終回ってマジですか？」(終)
[アニメ]SoltyRei 第22話「わたしと彼女と、少女の想い」
[アニメ]SoltyRei 第23話「Final message」
[アニメ]SoltyRei 第24話「これから」(終)
[アニメ]完結目前！ 交響詩篇エウレカセブン 緊急ナビ
[買][装備]PHS電池交換
[買]横浜で買ってきたもの。

2006/04/01 (Sat)
http://d.hatena.ne.jp/kab_studio/20060401
起きた。
あー……ねぇ？
[きらら]ねこねこタイムきららCarat
[きらら]ばーちゃるFPみかの保険入門！？
飲み行ってくる。
帰ってきた。


////////////////////////////////////////////////////////////////////
// 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/011

＝~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~＝----≫◎
////////////////////////////////////////////////////////////////////
// #pragma twice
http://www.kab-studio.biz/Programing/PragmaTwice/index.html

　Version 16.24
デフォルト値vsオーバーロード

「前回はデフォルト値について説明しました」
『引数にデフォルトの値を渡せるってゆーことだったね』
「で、実はこのデフォルト値と同じことが、オーバーロードでもできるんで
す」
『オーバーロードでも……あれ？　もしかしてそれって引数省略するってだ
けのこと？』
「そういうこと。前回の UseDefault() 関数をオーバーロードで実現すると
以下のようになります」

// Data.h

// デフォルト値ではなくオーバーロードで実現します。
// void UseDefault( int p_i1, int p_i2 = 100 );
void UseDefault( int p_i1, int p_i2 );
void UseDefault( int p_i1 );


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

#include "Data.h"

/*
void UseDefault( int p_i1, int p_i2 )
{
    // 配列の方を出力します。
    char pch[256];
    sprintf( pch, "%d, %d\n", p_i1, p_i2 );
    OutputDebugString( pch );
    // 100, 101
}
*/

// デフォルト値ではなくオーバーロードで実現します。
void UseDefault( int p_i1, int p_i2 )
{
    // 配列の方を出力します。
    char pch[256];
    sprintf( pch, "%d, %d\n", p_i1, p_i2 );
    OutputDebugString( pch );
    // 100, 101
}

void UseDefault( int p_i1 )
{
    // 第2引数にはデフォルト値を渡します。
    UseDefault( p_i1, 100 );
}

int WINAPI WinMain
    ( HINSTANCE p_hInstance
    , HINSTANCE p_hPrevInstance
    , LPSTR p_pchCmdLine
    , int p_iCmdShow
    )
{
    // デフォルト値を使用します。
    UseDefault( 100 );
    // 100, 100

    // デフォルト値を使用しません。
    UseDefault( 200, 300 );
    // 200, 300

    return 0;
}

「まず、引数が1つの関数と2つの関数の両方作ります」

void UseDefault( int p_i1, int p_i2 );
void UseDefault( int p_i1 );

「これでオーバーロードできました。引数2つの方は前回の実装と同じ、引数
1つの方は引数2つの方にデフォルト値を渡して呼び出します」

void UseDefault( int p_i1 )
{
    // 第2引数にはデフォルト値を渡します。
    UseDefault( p_i1, 100 );
}

『なるほど、そうすれば前回のとまったく同じになるってわけね』
「そういうこと。こうすることで、ほぼデフォルト値と同じことを
オーバーロードで実現できるというわけです」
『ほぼ同じ？』
「前回の説明を思い出して。デフォルト値は、関数の宣言部で記述したで
しょ」
『あ、今回は定義の中だね』
「その違い。 Version 15.02 ( No.302 ) で説明したように、関数の宣言は
〈こういう関数がある〉という情報でしかありません」
『実際に結び付けるのはリンクの時だもんね』
「だから、 Data.h をインクルードせず、以下のようにすることだって
できるんです」

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

// デフォルト値を持つ、 UseDefault() 関数の宣言。
void UseDefault( int p_i1, int p_i2 = 200 );

// 引数のデフォルト値を持つ関数。
void UseDefault( int p_i1, int p_i2 )
{
    // 配列の方を出力します。
    char pch[256];
    sprintf( pch, "%d, %d\n", p_i1, p_i2 );
    OutputDebugString( pch );
    // 100, 101
}

int WINAPI WinMain
    ( HINSTANCE p_hInstance
    , HINSTANCE p_hPrevInstance
    , LPSTR p_pchCmdLine
    , int p_iCmdShow
    )
{
    // デフォルト値を使用します。
    UseDefault( 100 );
    // 100, 100

    // デフォルト値を使用しません。
    UseDefault( 200, 300 );
    // 200, 300

    return 0;
}

『あ、こっちはデフォルト値の例だね』
「この例では、 Data.h をインクルードせず、勝手に UseDefault() 関数の
宣言を書いて、勝手にデフォルト値を指定しています」

// デフォルト値を持つ、 UseDefault() 関数の宣言。
void UseDefault( int p_i1, int p_i2 = 200 );

『げ、ホントだ』
「でも、これができるのも仕方ないんです。関数宣言というのは、関数を使
う側にとっての情報だから」
『好きにしていいってこと？』
「そういうこと。呼び出す側にとって、ヘッダーファイルは〈インクルード
した方が便利〉だからインクルードするだけだからね」
『つまり？』
「つまり、呼び出される側に強制力はない、ってこと」
『そか、つまりデフォルト値は変えられるかもしれない、強制できないって
ことね』
「そういうこと。デフォルト値はいわば〈呼び出す側が使用する、省略した
時に渡す値〉。たとえば」

    // デフォルト値を使用します。
    UseDefault( 100 );

「としたら、これが呼び出すときに」

    // デフォルト値を使用します。
    UseDefault( 100, 200 );

「となる、という話なんです」
『その値を宣言で指定している、と』
「そしてそれは呼び出す側で自由に変えられる、ってことは結局普通に渡し
ているのと同じ。プログラマーにとって楽、というだけのことなんです」
『で、オーバーロードの方は』
「デフォルト値は定義内で渡すから、呼び出す側で変えることはできません。
しかも、何を渡すかも分からないかもしれません」
『あ、そういえばそうだよね、 DLL になってたら分かんないよね』
「それに、この例では引数2つの方を呼び出しているけど、呼び出さないか
もしれません」
『あ、そういえば……そか、オーバーロードの時は、引数が減ってるだけ
じゃなく関数が別っていうのもあるんだ』
「それも重要な点。デフォルト引数は関数は1つだけどオーバーロードは2つ
以上あるわけだから、中身は全然違うかもしれないんです。それに、関数が
多いってことは、それだけ関数を作らなきゃいけないってことでもあるんで
す」
『げ！』
「引数が5つあって、そのうち4つ省略したい場合、デフォルト値なら1つの
関数で済むけど、オーバーロードの場合は」
『4つ作らなきゃいけない！』
「ただ、デフォルト値を設定しない引数を、設定した引数の後に入れること
はできないんです。たとえば」

void UseDefault( int p_i1, int p_i2 = 100, int p_i3 );

「っていうのは駄目」
『あー、じゃあ引数の一部だけ省略するのはデフォルト値じゃ無理なんだ』
「オーバーロードならその辺は柔軟にできるし、あと呼び出す側で違いを把
握できないっていうのは、オーバーロードは全てそうだから」
『？』
「たとえば int と double のオーバーロード」
『あ！　そか、型が違うオーバーロードでも、同じように動くようにしな
きゃいけないって言ってたよね』
「 Version 11.19 ( No.219 ) で説明したね。引数を省略する時も同じ。加
えて、宣言部の記述に関係なく正しい値が渡される、ってことを考えると
デフォルト値よりオーバーロードの方がお勧めかな」
『って、関数いっぱい作らなきゃいけないって問題は？』
「努力でカバー」
『……』

/*
    Preview Next Story!
*/
『 C++ って、似たような機能のって多いよね』
「その中から選択しなきゃいけないから大変かな」
『だよね、メリットデメリット考えないといけないんだもん』
「次の static メンバ変数もそんな感じかな」
『またー？』
「というわけで次回」
＜ Version 16.25 static メンバ変数 ＞
『につづく！』
「本当の理解が必要なのが C++ 言語！」
『理解しなくても使える言語があるの？』
「うーん……難しい質問だねそれは」


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

・このメールを返信しないでください。
・ご意見・ご希望・ご感想は[チョー普通な日記]よりお送りください。
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
*/
////////////////////////////////////////////////////////////////////

