////////////////////////////////////////////////////////////////////
　 ◆ SE・PG募集！　アナタのキャリアアップを応援します ◆　 
┌────────────────────────────┐
│　・サーバ(LinuxOS,WEB,DB,FW等)に理解のある方！　　　　 │
│　・PHPやPerl等WEBプログラムに理解のある方！　　　　　　│
└─≪ 技術者大募集！全てはあなたのやる気次第です！！ ≫─┘
　　　　　　　　　　　　▼　▼　▼　　　　　　　　　　　　　
　　 　　　　　【株式会社ファーストメディア】　　　　　 　　
●━━━━≪ http://af1.mag2.com/m/af/0000008658/001/s00000002620001/006 ≫━━━━●
////////////////////////////////////////////////////////////////////
/*

    KAB-studio.h


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

    送信日： 2005/11/28(Mon) No.334
    配信数： 1863
    発行元： まぐまぐ ( URL: http://www.mag2.com/  ID: 0000012198 )
*/
////////////////////////////////////////////////////////////////////

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

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


2005/11/28 (Mon)
　#pragma twice ホームページ版にアーカイブ追加！
14.04 同期オブジェクト
14.05 ミューテックスを使おう！
[ #pragma twice ]
http://www.kab-studio.biz/Programing/PragmaTwice/index.html


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

2005/11/20 (Sun)
　死ぬほど眠い。昨日は母校・電気通信大学の研究室OB会へ。ゼミ室が綺麗
になってた。終電で帰宅しようとしたら乗り遅れて始発で帰宅。徹夜明けで
日曜は死んでた。そしてオフ会希望。

2005/11/21 (Mon)
　５時半寝１１時半起き。 Fate 終盤。某専門学校の方が終わったんで少し
余裕あるかも。

2005/11/22 (Tue)
　昨日の夜にカブカテキョと Machician 。今日はぷらとわ３話。あとは 
Fate と JavaA2Z 。 JavaA2Z が全盛期のレベルに戻りつつある。今週は調子
いいかも。某専門学校のが精神的に良くなかった？

2005/11/23 (Wed)
　休日モード。１１時半に起きて Fate してカレー作って、とのんびり。
ストックがあるから余裕が。

2005/11/24 (Thu)
　６時寝１１時起き。ほとはー外伝３のネーム切りと主線入れ。夕方はゆっ
たりカレー食べて夜は JavaA2Z 。余裕あるけど収益が。

2005/11/25 (Fri)
　お昼から夕方までほとはー外伝３。あと Fate と JavaA2Z 。こまごまと
した単語を追加中。明日はゲームしてくる予定。

2005/11/26 (Sat)
　昨日の夜中にビデオをDVD-Rに焼いて今日はカブカテキョ……が時間掛か
ってゲームはパス。うっかり１時間半寝たり。「Ajaxで」をリスタートした
い。Webアプリの足がかりに。


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

2005/11/20 (Sun)
http://d.hatena.ne.jp/kab_studio/20051120
起きたー。
[アニメ]おねがいマイメロディ 第34話「ヒーローになれたらイイナ3！」
[アニメ]ゾイドジェネシス 第33話「予兆」
[アニメ]魔法戦隊マジレンジャー 
　第38話「アニキとの約束〜ゴー・マジーロ〜」
[Prog]ぷらとわ追加。
[ほとはー]ほとはー外伝３はお休みします……。

2005/11/21 (Mon)
http://d.hatena.ne.jp/kab_studio/20051121
起きたっすよー。
[Fate/hollow ataraxia]バゼットさん倒される。
[JavaA2Z]単語追加。
[買]Amazonから届いたもの。
[きらら]まんがタイムきららMAX 1月号
[Machician]第１１話 闇の背中 (20) [△ ▽]

2005/11/22 (Tue)
http://d.hatena.ne.jp/kab_studio/20051122
起きたよ。
[アニメ]Canvas2 第8話「哀愁のミッドナイトブルー」
[アニメ]ガン×ソード 第21話「空に願いを　地には平和を」
[アニメ]はっぴぃセブン 第8話「部活対抗歌合戦」
[アニメ]交響詩篇エウレカセブン 第31話「アニマル・アタック」
[アニメ]ふしぎ星の☆ふたご姫 第34話「輝け！虹の泉☆ミルロの願い」
[アニメ]銀盤カレイドスコープ 第7話「氷上のウエイトレス」
[Fate/hollow ataraxia]とりあえずクリア。
[JavaA2Z]単語追加。
[Machician]第１１話 闇の背中 (21) [△ ▽]

2005/11/23 (Wed)
http://d.hatena.ne.jp/kab_studio/20051123
起きましたよ。
[食][自炊]カレーログ
[買][アニメ]Fate/stay night curtain raiser
[Prog]MySQL4.1で文字化け
[Machician]第１１話 闇の背中 (22) [△ ▽]

2005/11/24 (Thu)
http://d.hatena.ne.jp/kab_studio/20051124
ぐもぐも。
[アニメ]灼眼のシャナ 第8話「麗しのゴブレット」
[アニメ]ARIA 第8話「その 憂鬱な社長ったら…／その イケてるヒーローってば…」
[アニメ]IGPX 第8話「好き好き大好き」
CLANNAD PS2版 予約開始！
居酒屋クーポン
はてな2005ネット流行語大賞キャンペーンについて
[JavaA2Z]単語追加。
[Machician]第１１話 闇の背中 (23) [△ ▽]

2005/11/25 (Fri)
http://d.hatena.ne.jp/kab_studio/20051125
起きたよー。
[アニメ]かりん 第4話「バレちゃって恥ずかしい」
[アニメ]SHUFFLE! 第19話「忘れ得ぬ想い」
[アニメ]ノエイン 第7話「タイセツナヒト」
[アニメ]舞-乙HiME 第8話「運命の軛」
[アニメ]SoltyRei 第8話「リベンジ」
[アニメ]魔法少女リリカルなのはA’s 第8話「悲しい決意、勇気の選択なの」
Google Analytics対応について
[JavaA2Z]単語追加。
[装備]プロジェクターのランプが寿命に……？？？
[Machician]第１１話 闇の背中 (24) [△]

2005/11/26 (Sat)
http://d.hatena.ne.jp/kab_studio/20051126
起きたー。
[買][装備]DVD-R
[JavaA2Z]単語追加。
ゲームに行かず……。


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

■追加・更新単語

文字入力ストリーム
文字出力ストリーム
文字ストリーム
バイト入力ストリーム
バイト出力ストリーム
バイトストリーム
RSS
Rss4j
パーシング
パーサー
Xerces
実体参照
エンティティコード
コンテナクラス
トークン
足し算
引き算
掛け算
割り算
主キー
プライマリキー


////////////////////////////////////////////////////////////////////
　 ◆ SE・PG募集！　アナタのキャリアアップを応援します ◆　 
┌────────────────────────────┐
│　・サーバ(LinuxOS,WEB,DB,FW等)に理解のある方！　　　　 │
│　・PHPやPerl等WEBプログラムに理解のある方！　　　　　　│
└─≪ 技術者大募集！全てはあなたのやる気次第です！！ ≫─┘
　　　　　　　　　　　　▼　▼　▼　　　　　　　　　　　　　
　　 　　　　　【株式会社ファーストメディア】　　　　　 　　
●━━━━≪ http://af1.mag2.com/m/af/0000008658/001/s00000002620001/006 ≫━━━━●
////////////////////////////////////////////////////////////////////
// #pragma twice
http://www.kab-studio.biz/Programing/PragmaTwice/index.html

　Version 16.07
ポインタと参照のおさらい

「今回は、クラスを使う上でのポインタと参照についておさらいします」
『これまで散々使ってるから大丈夫だと思うけど』
「それは文字列とかの話でしょ」
『うん、 char 型の配列とか文字列のコピーとかばっちり！　だと思うよ』
「クラスの場合、それとは違う知識が必要だから、そのあたりを中心に説明
します」
『違う知識？』
「そう、違う知識」
『そういうもんなんだ……』
「といってもまずは基本的なところから。 Version 4.10 ( No.060 ) から
のポインタ編は分かってるね」
『うん、文字列関係は大丈夫』
「で、逆にクラスの場合にはこういう、アドレスを直接操作する、といった
使い方はしないようにします」
『え、そうなの？』
「もちろん中に文字列を持っていたり、構造体だったりする場合には必要な
こともあるけど、基本的にはそういう細かい操作はしない、って考えて」
『なんで？』
「そうだね、たとえば private メンバ変数」
『外からアクセスできないメンバ変数ね。あ……もしかして、アドレス直で
指定するとアクセスできちゃう？』
「そういうこと。 private とか public っていうのは、コンパイル時にし
か機能しないから、アドレスを直接指定されたりすると全然機能しないんで
す」
『そりゃまずいね……』
「クラスには、プログラムを安全に作るための色々な仕組みがあるんです。 
private メンバ変数もそう。でもアドレスやポインタを駆使したプログラム
はそういうものを台無しにしちゃうから」
『使わないようにする、ってことね』
「そういうこと。だから、クラスを中心にした時、ポインタは」

・変数の複製を作らずに渡す
・引数経由で値を返す
・ポリモーフィズム

「といった目的に使います」
『ぽ……ぽりもおふぃずむ？』
「それはもうちょっと後でね。まずは基本的な所から。 CData クラスが、
次のように一般的なクラスだとします」

// Data.h

// CDataクラス。
class CData
{
private:
    // private メンバ変数。
    int m_iData;

public:
    // m_iData の getter 。
    int GetData() const;

    // m_iData の setter 。
    void SetData( int p_iData );
};

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

#include "Data.h"

// m_iData の getter 。
int CData::GetData() const
{
    return m_iData;
}

// m_iData の setter 。
void CData::SetData( int p_iData )
{
    m_iData = p_iData;
}

『 m_iData メンバ変数と、 getter と setter があるクラスね』
「これを、ポインタを使って関数に渡す場合」

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

#include "Data.h"

void Set100( CData *p_pcData )
{
    //セットします。
    p_pcData->SetData( 100 );
}

int WINAPI WinMain
    ( HINSTANCE p_hInstance
    , HINSTANCE p_hPrevInstance
    , LPSTR p_pchCmdLine
    , int p_iCmdShow
    )
{
    // CDataクラスの変数を宣言します。
    CData cData;
    cData.SetData( 100 );

    // OutputData()に渡します。
    Set100( &cData );

    char pch[256];
    sprintf( pch, "%d\n", cData.GetData() );
    OutputDebugString( pch );
    // 100

    return 0;
}

「 Set100() 関数の引数を CData クラスのポインタにします。そうするこ
とで、 Set100() 関数には cData 変数のアドレスが渡されます」
『すると？』
「まず、新しい変数が作られなくなります。引数がポインタではない場合、
つまり」

void Set100( CData p_cData )

「となっていた場合、新しく CData クラスの変数 p_cData が作られて、
渡した cData 変数のメンバ変数に格納されている値がコピーされます。
でも」

void Set100( CData *p_pcData )

「と、ポインタの場合には CData クラスの変数は作られず、 cData 変数の
アドレスが渡されるだけなので、変数はひとつだけになります」
『それってメモリが消費されないからいい、ってこと？』
「それもあるけど、それ以外にも色々なメリットがあります。この点につい
てはもう少し先に。加えて、ここではポインタで渡されているので、 
実際には cData 変数へアクセスできます。

    //セットします。
    p_pcData->SetData( 100 );

「 p_pcData には cData 変数のアドレスが格納されてるから、これは」

    cData.SetData( 100 );

「と同じになります」
『外から渡した変数にアクセスできるってわけね』
「この2つが」

・変数の複製を作らずに渡す
・引数経由で値を返す

「に該当します」
『残りのポリモーフィズムは？』
「それはもっと後で」
『もっと……』
「さて、基本的に、クラスをポインタで使う場合にはこの2つのメリットの
ために使用します。ただ、ポインタの場合」

・ポインタに渡す際にはアドレスを渡さなければならないため【&】を付ける
・メンバにアクセスするのに【.】ではなく【->】を使用する
・アドレスを渡すためアドレス操作をしてしまう可能性がある。

「といった面でちょっと面倒です」
『というわけで参照を使うわけね』
「そういうこと。 Set100() 関数を参照版に変えると、以下のようになりま
す」

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

#include "Data.h"

void Set100( CData &p_rcData )
{
    //セットします。
    p_rcData.SetData( 100 );
}

int WINAPI WinMain
    ( HINSTANCE p_hInstance
    , HINSTANCE p_hPrevInstance
    , LPSTR p_pchCmdLine
    , int p_iCmdShow
    )
{
    // CDataクラスの変数を宣言します。
    CData cData;
    cData.SetData( 100 );

    // OutputData()に渡します。
    Set100( cData );

    char pch[256];
    sprintf( pch, "%d\n", cData.GetData() );
    OutputDebugString( pch );
    // 100

    return 0;
}

「参照の場合、メンバにアクセスする時に【->】ではなく【.】を使用しま
す」

    //セットします。
    p_rcData.SetData( 100 );

「渡す時も、【&】を付けないで渡せます」

    // OutputData()に渡します。
    Set100( cData );

『ポインタらしくなく使えるわけね。ポインタと参照、どっち使うといい
の？』
「基本的にはポインタ。でも一部の場合には参照」
『なにその曖昧な基準』
「参照の使いどころはこれから説明していくから、普通はポインタを使っ
て、これから説明する、コンストラクタや演算子のオーバーロードでは
使う、っていうスタンスかな」

/*
    Preview Next Story!
*/
『この辺は復習だから軽いわねー』
「でも次回は……」
『？　const メンバ関数？　それも知ってるけど』
「でも、この const メンバ関数、実は……」
『……実は？』
「というわけで次回」
＜ Version 16.08 const メンバ関数 ＞
『につづく！』
「阿鼻叫喚の地獄絵図が待っています」
『まぢで？』
「まぢで」


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

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

