////////////////////////////////////////////////////////////////////
◆◆◆◆◆◆◆【ＷＥＢデザイン】のプロになってみない？！◆◆◆◆◆◆◆
今、需要が急増中のＷＥＢデザイナーの勉強を始めてみませんか？　通信講座
なので、学校に通う時間がなくても大丈夫。在宅ワークやSOHOで高収入可能！
●始めるなら今！入学金無料のチャンス！　▼詳しい案内書を無料送呈中！▼
http://af1.mag2.com/m/af/0000008658/001/s00000000163010/007
////////////////////////////////////////////////////////////////////
/*

    KAB-studio.h


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

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

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

2006/03/27 (Mon)
　#pragma twice ホームページ版にアーカイブ追加！
15.03 インクルードはただの置き換え
15.04 ヘッダーファイルは必要？
[ #pragma twice ]
http://www.kab-studio.biz/Programing/PragmaTwice/index.html

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


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

2006/03/19 (Sun)
　８時起き。明日からは７時半起き。午前中はアニメ観て感想書いて月曜更
新分を。「視る」ことが超苦手。そして季節の変わり目。

2006/03/20 (Mon)
　７時半起きモード。午前中は雑用。午後はカブカテキョと某専門学校関係
のを。プログラムが大変だった。あさってからごたごた。そしてIQ。

2006/03/21 (Tue)
　午前中はビデオのダビング。 WBC 、世界一に！　１時間ほど落ちる。
ワイシャツ取りにいって目覚まし買って。プレ講習会。ファミコンミニ
スーパーマリオブラザーズ購入。そして全体見積もり。

2006/03/22 (Wed)
　今日から３日間は駒場東大前がよい。プレ講習会開始。嗅いだことのある
匂い。帰ってからはカブカテキョ。そして５時上がり？　そして正攻法？

2006/03/23 (Thu)
　引き続きプレ講習会。ぐだぐだ感が増す。４時半に終わった。そして
業界の必須項目。

2006/03/24 (Fri)
　プレ講習会最終日。新入社員研修は数社合同でした方がいい。２時半終了。
プレ講義としての効果あり？　将来的にはこれメインに。カブカテキョの方
針変更？　状況は流動的。

2006/03/25 (Sat)
　カブカテキョに追われてほとはー外伝３描けず。かぶヘッダーの準備と
か。そしてほとはーとかの構成。そしてライバル企業。


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

2006/03/19 (Sun)
http://d.hatena.ne.jp/kab_studio/20060319
起きた。
[KAB-studio][ほとはー]ほとはー外伝３ P.56
[KAB-studio]ぷらとわ追加。
[アニメ]おねがいマイメロディ 第51話「タクトがふれたらイイナ！」
[アニメ]ゾイドジェネシス 第49話「決戦」
[アニメ]轟轟戦隊ボウケンジャー 第5話「帝国の真珠」
[アニメ]交響詩篇エウレカセブン 第47話「アクペリエンス・4」
[アニメ]タクティカルロア 第11話「花」
[アニメ]陰からマモル！ 第10話「ゆうなの黄金伝説」
[野球]WBC2006 準決勝 日本vs韓国

2006/03/20 (Mon)
http://d.hatena.ne.jp/kab_studio/20060320
起きたー。
[アニメ]Fate/stay night 第11話「鮮血神殿」
プログラム完成。

2006/03/21 (Tue)
http://d.hatena.ne.jp/kab_studio/20060321
起きてる入ってる
[アニメ]Canvas2 第23話「クリスマスカラーの決意」
[野球]WBC2006 決勝 日本vsキューバ
Kotoko様海外進出？
[買]スーマリ購入
[link]「COMIC SEED!」復活

2006/03/22 (Wed)
http://d.hatena.ne.jp/kab_studio/20060322
ぐもー。
帰ってきた。

2006/03/23 (Thu)
http://d.hatena.ne.jp/kab_studio/20060323
凄く起きた。
帰ってきた。
[アニメ]灼眼のシャナ 第24話「紅蓮の想い」(終)
[アニメ]かしまし〜ガール・ミーツ・ガール〜 
　第11話「その瞳から消えたもの」
[アニメ]IGPX 第22話「進むべき場所へ」
[きらら]まんがタイムきららフォワード Vol.1
[link]作品を批判すること

2006/03/24 (Fri)
http://d.hatena.ne.jp/kab_studio/20060324
起きた。
[アニメ]かりん 第18話「兄キのヒミツは　恥ずかしい」
[アニメ]舞-乙HiME 第24話「あなたのために…。」
[アニメ]REC 第8話「マイ・フェア・レディ」
[アニメ]ノエイン 第23話「オワリ」
[アニメ]マジカノ 第12話「目覚めの刻ってマジですか？」
[アニメ]SoltyRei 第21話「真実の刻」
帰ってきた（爆）。
[link]ニンテンドーレボリューションでメガドライブやPCエンジンのゲーム
　ができるように

2006/03/25 (Sat)
http://d.hatena.ne.jp/kab_studio/20060325
起きたー
[アニメ]ふしぎ星の☆ふたご姫 
　第51話「ファイナルプロミネンス☆プリンセスはあきらめない」(終)


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

■追加・更新単語

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


////////////////////////////////////////////////////////////////////
◆◆◆◆◆◆◆【ＷＥＢデザイン】のプロになってみない？！◆◆◆◆◆◆◆
今、需要が急増中のＷＥＢデザイナーの勉強を始めてみませんか？　通信講座
なので、学校に通う時間がなくても大丈夫。在宅ワークやSOHOで高収入可能！
●始めるなら今！入学金無料のチャンス！　▼詳しい案内書を無料送呈中！▼
http://af1.mag2.com/m/af/0000008658/001/s00000000163010/007
////////////////////////////////////////////////////////////////////
// #pragma twice
http://www.kab-studio.biz/Programing/PragmaTwice/index.html

　Version 16.23
引数のデフォルト値

「今回は引数のデフォルト値について説明します」
『演算子のオーバーロードからうってかわって、って感じだね』
「ううん、実はとても関係があるんです」
『え？』
「まずは実例から。引数のデフォルト値は普通の関数でもメンバ関数でもで
きるから、普通の関数で試してみます」

// Data.h
void UseDefault( int p_i1, int p_i2 = 100 );


// Data.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
}

「 UseDefault() の第2引数で 100 というデフォルト値を使用しています」
『【 int p_i2 = 100 】がそうね』
「使用例は以下のようになります」

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

#include "Data.h"

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;
}

「最初の方は、デフォルト値を使用して呼び出しています」

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

「このように、引数を省略するとデフォルト値が使用されます。つまり、 
p_i2 に 100 が渡されて呼び出される、ということです」

    // デフォルト値を使用します。
    UseDefault( 100  /* 第2引数を省略 */ );
                 ↓            ↓
                 ↓            ↓
                 ↓            →→→→→
                 →→→                ↓
                      ↓               ↓
void UseDefault( int p_i1, int p_i2 = 100 );
                     ↓               ↓
                     ↓         ←←←←
                     ↓         ↓
void UseDefault( int p_i1, int p_i2 )
{
// 略

『省略すると、その値が渡されるってわけね』
「もちろん、デフォルト値を使用しないこともできます」

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

『だからデフォルト値、なんだもんね』
「そういうこと」
『……質問！』
「はい火美ちゃん」
『これって宣言の方だけでいいの？　定義の方はいらないの？』
「そこが複雑なところなんです。たとえば、以下のようにデフォルト値の
設定を、定義の方だけしたとします」

// Data.h
void UseDefault( int p_i1, int p_i2 );

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

#include "Data.h"

// 引数のデフォルト値を持つ関数。
void UseDefault( int p_i1, int p_i2 = 100 )
{
// 略

『げ、コンパイルエラーになった！』

    // デフォルト値を使用します。
    UseDefault( 100 );
    // コンパイルエラー：
    // error C2660: 'UseDefault' : 
    //     関数が不正な 1 個の実引数をともなって呼び出されました。

『なんでなんで！？　宣言の方に書かないといけないの？』
「宣言の方に書かなきゃいけないわけじゃなくて、コンパイルするときに
デフォルト値の情報がないといけないんです」
『？？？』
「コンパイラのことを思い出して。まず、コンパイルはソースファイル単位
で行うよね」
『 Version 15.01 ( No.301 ) とかで教わったね』
「コンパイラは、 Main.cpp をコンパイル中に、以下の文にでくわします」

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

「コンパイラは、この UseDefault() 関数の引数と戻り値の情報を取得しよ
うとします。その情報はどこに書かれてる？」
『 Data.h と Data.cpp 』
「でも、コンパイルはソースファイル単位でしょ」
『あ、そっか。 Main.cpp のコンパイルしてるときには Data.cpp は見てな
いんだ。 Main.cpp からは Data.h をインクルードしてるから見えるけど』

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

#include "Data.h"

「そう、だから Main.cpp のコンパイル時には Data.h の情報を持つことに
なります。その中で、以下の関数を見つけます」

// Data.h
void UseDefault( int p_i1, int p_i2 );

『デフォルトの引数使っていないバージョンね』
「コンパイラは、呼び出し元の引数が1つだけなのに、宣言の方は引数が2つ
の関数しかないから、どの関数を呼び出せばいいのかわかりません」
『コンパイラは Data.h しか見られないから、定義の方にデフォルト値書い
ても分からない、って話？』
「そういうこと。デフォルト値はコンパイル時に使用されるので、コンパイル
するときに見に行く Data.h の宣言に書く必要があります」

// Data.h
void UseDefault( int p_i1, int p_i2 = 100 );

「このようにすることで、コンパイラは呼び出し部分にデフォルト値を渡す
ようにします」

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

『呼び出すとこにデフォルト値を渡しちゃう渡すわけね』
「このように、デフォルト値はコンパイル時に処理されるので、宣言に書く
必要があります」
『コンパイラから見えなきゃいけないわけね』
「ただ、定義に書いてもいい場合もあります」
『定義に書いてもいい場合？』
「定義しかない場合とかね

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

// 引数のデフォルト値を持つ関数。
void UseDefault( int p_i1, int p_i2 = 100 )
{
    // 配列の方を出力します。
    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;
}

『あー、定義ファイルにしかない場合は仕方ないよね』
「どちらにしろ、コンパイラがデフォルト引数が得られればいい、ってこ
とだから」

/*
    Preview Next Story!
*/
『あれ？　オーバーロードと関係してるって話は？』
「引数を省略、ってオーバーロードでもできるでしょ」
『そういえば、ってここで言われても』
「じゃあ1回そのために取りましょう」
『げ』
「というわけで次回」
＜ Version 16.24 デフォルト値vsオーバーロード ＞
『につづく！』
「こうしてどんどん伸びていく」
『自分で言うなー！　もう7年だよー！？』


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

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

