////////////////////////////////////////////////////////////////////
SEO΍́I
http://af1.mag2.com/m/af/0000008658/001/s00000004680002/021
////////////////////////////////////////////////////////////////////
/*

    KAB-studio.h


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

    MF 2006/11/13(Mon) No.382
    zMF 1684
    sF ܂܂ ( URL: http://www.mag2.com/  ID: 0000012198 )
*/
////////////////////////////////////////////////////////////////////

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

2006/11/13 (Mon)
@قƂ́[O`RP.79ǉI
[ Ol̃zbgn[u O`R y^V  LNz ]
http://www.kab-studio.biz/Comic/HotHerbA3/index.html

2006/11/13 (Mon)
@#pragma twice z[y[WłɃA[JCuǉI
17.12 |[tBYI
17.13 z֐ƃI[o[Ch
[ #pragma twice ]
http://www.kab-studio.biz/Programing/PragmaTwice/index.html


////////////////////////////////////////////////////////////////////
// 储ʂȓL
http://www.kab-studio.biz/nikki2/index.html

2006/11/05 (Sun)
@PPNBقƂ́[O`R̃RgB͂ՂƂRbB
SQPONBN悤ƂĂRB

2006/11/06 (Mon)
@͂S܂łB͂PO߂NB΂
ĂBP͂Ăȃv[gGBƃvO~Oăv[ցB

2006/11/07 (Tue)
@S܂łꂵĂPONB݂Ƀ_[WB܂łقƂ́[O`R
̃l[؂B̓v[łPDTLB

2006/11/08 (Wed)
@S܂łقƂ́[O`R̃l[؂ƃAj̊zBSQPON
͂܂BՂƂSbB̓v[B

2006/11/09 (Thu)
@͂BPONB݂ccBłMachicianpǉƂB
͒Q育͂HׂAWAV[YςB

2006/11/10 (Fri)
@NĂĉlցBiPod shuffledr؂BiPod shuffle[dp
RZgƂwBjeh[DS LiteCAĂBƂ
ECCDSƂĈȏB

2006/11/11 (Sat)
@PONBĥHׂă_EB[AjςĊz
ԃwb_[̏B]T闝RB


////////////////////////////////////////////////////////////////////
// Ԃ낮B
http://d.hatena.ne.jp/kab_studio/

2006/11/05 (Sun)
http://d.hatena.ne.jp/kab_studio/20061105
N[B
[KAB-studio]ՂƂǉB
[KAB-studio]KAB-studio.hkōXV
[KAB-studio][قƂ́[]قƂ́[O`R P.78
[Aj]uv 32buƂ̎vfv
[Aj]˂}CfB`邭VbtI` 
@32buJbRǂȂꂽCCȁIv
[Aj]͂o܂ɗĂ 5bu^钆̋v
[Aj]тAoX 
@5buƂ邩ȂB1_v
[Aj]Gift `eternal rainbow` 5buꂽꏊŁv

2006/11/06 (Mon)
http://d.hatena.ne.jp/kab_studio/20061106
NB
[j_CGbg]112
[G]͂Ăȃp[J[~I
[C71]ʒm͂܂B
[PS2]RgOB
[Aj]F̃R_ 6bũ|Jv
[Aj]閾OڗF Crescent Love 
@5buPl lYLv
[Aj]MNV[GWF` 6buaIVlACh`v

2006/11/07 (Tue)
http://d.hatena.ne.jp/kab_studio/20061107
NB
[j_CGbg]113
[Aj]BLACK BLOOD BROTHERS 6buv
[Aj]NEHEKɂ悤I 18bum[t[`[ɂ悤Iv
[Aj]Pumpkin Scissors 6buL`Ȏԁv

2006/11/08 (Wed)
http://d.hatena.ne.jp/kab_studio/20061108
NB
[][]Wbgt[Wp[
[]AmazonŔ́B
[j_CGbg]114
[Aj]DEATH NOTE 6bu]сv
[Aj]ubNO[ 18buMr.Benny's Good Fortunev
[Aj]lM܁IH 6bułق؂ŋāHv

2006/11/09 (Thu)
http://d.hatena.ne.jp/kab_studio/20061109
NB
[]2iPod shuffleZJhCvbV
[]Cɏojeh[DS LiteCV甭B
[KAB-studio][Machician]puTicJvǉB
v[͂x݁B
[]܂񂪃^C 2006N12
[link]vCXe[V3𔃂߂Ƀ^CXbv
[Aj]t̃XgC 3büv
[Aj]B 6bu̒v

2006/11/10 (Fri)
http://d.hatena.ne.jp/kab_studio/20061110
NB
lsĂB
AĂB
[]jeh[DS LiteCccH
[]Ifve in BUDOKAN2005 `COMPLETE EDIT`ɌĂ܂B
[][]iPod shuffle[dpRZg
[H]J[VbvGOLD RUSH gJ[
[]ECCDS
[]ĂR~bNXƂB
[Aj]Ă̕B 6buẲiv
[Aj]`nŋ̃` 6buՂ̎hqAIv

2006/11/11 (Sat)
http://d.hatena.ne.jp/kab_studio/20061111
NB
[]X}CLbY 24ԃ^C}[RZg
[link]vXe3ɂ݂Wiiwւ̓W]B
[link]12RIVEN -the climinal of integral-
[Aj]Ƃem Ԃ 20buvZXԂv
[Aj]ӂ́ӂP Gyu! 
@33buTӂPƐl͒N!?v
[Aj]R[hMAX t̃[V 6buDꂽʁv


////////////////////////////////////////////////////////////////////
// AjaxŃGQ[uO
http://d.hatena.ne.jp/AjaxEroge/

iT͂x݂łj


////////////////////////////////////////////////////////////////////
// A
http://www.kab-studio.biz/Novel/Fuga/index.html

@\܏́@b݁A炩Ȍ@|PO|

uł܂v
@ɈēḗAȂȘaB
@̏ƁAɓ̔̊ԁBƖ؂̒ō\ꂽ́AX
܂ő|s͂Ă̂AƂĂɊꂽB
uccv
@͐SAŔ܂肽ƎvB
uC͂ɂ܂v
@̓EɓƁẢɘIVCB
@AǁA͖؍ނō\A\ʂ͌̂FĂB
͒`ŁAlĂ܂]T邭炢̍LB̓ʂƓV
ȂA͂͊OƌpȂĂAّ̗Ŝ؁X͂łB
u͓ق̎LтƂȂĂ܂̂ŁA`Sz͂
񂩂v
uAłˁv
@ɂ̊Ədˍ킹ẮAȐSzvȂB
uׂ̕Ƃ̋͗Ă܂Ảł͐삪Ă܂
A͂Sz܂v
@͕CɓA̍򂩂oĉBÂČȂA
삪悭Ă̂͊B̉v̊O傫AR
ꂽƂĂ͂Ȃ낤B
uccA킢₷v
u͂Hv
uAAȂł܂v
uē͈ȏƂȂ܂̂ŁA肨났Bp̍
ɂ͓QԂ炨Ăтv
@̓ŁA͍ĂяɎtēB
u킽Aق̏Ă܂Hi͂ƂjƐ\܂Bp
̍ۂ͂ȂȂƂ\tv
uA͂A炱v
@ēB
                                                              ()

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

ǉEXVP

iT̒ǉ͂܂j


////////////////////////////////////////////////////////////////////
SEO΍́I
http://af1.mag2.com/m/af/0000008658/001/s00000004680002/021
////////////////////////////////////////////////////////////////////
// #pragma twice
http://www.kab-studio.biz/Programing/PragmaTwice/index.html

@Version 17.27
X}[g|C^̎Ȃ

uł͑ȎB܂̍s̘błv

    cSmartPointer = GetPrinterInstance( DLG_PRINTER );

wE GetPrinterInstance() ֐X}[g|C^Ԃ񂾂ˁx
uA炱̊֐ĂяoĂ镔߂lɒu܂v

    CDebugPrinter NX̕ϐ̃AhX
                       CDlgPrinter NX̕ϐ̃AhX
    cSmartPointer = cSmartPointer;
         ()            (E)

włAE̎ĂAhXႤAƁx
ûƂA = Zq̃I[o[[ho֐Ăяo܂v

    // = ZqI[o[[h܂B
    CSmartPointer &operator =( const CSmartPointer &p_rcSmartPointer )

u̒ŃAhXقȂꍇɂ Release() o֐Ăяo
ɂĂ܂BŁA Release() o֐́AQƃJE^[0
Ȃ玝Ăϐ delete ܂v

                                   CDebugPrinter NX̕ϐ 
                                Output()                      
      ̕ϐ                
      delete܂                int ^ϐ       
                            0                
                                       
 cSmartPointer()                             
m_piRefCounter                             
m_pcPrinter 
 

w܂肱ꂪAqX}[g|C^I delete Ăꂽr
ƂȂ񂾂ˁx
uƁBX}[g|C^̍ő̃bǵqAhXN
ĂȂ delete rĂ@\ƁB邱
ŁAK؂ȃ^C~O delete 킯łv
w܂gĂ鎞 delete 邱ƂȂA delete Y
[N邱ƂȂBKvȂȂ炷 delete A
킯ˁx
uƁBX}[g|C^gp邱ƂŁqgȂȂ 
delete rĂIɂł킯łv
wȂقǁAmɕ֗ccx
uāA cSmartPointer ϐ()ӂ̃oϐ
󂫂܂BɁA cSmartPointer ϐ(E)̃AhXRs[܂v

    // = ZqI[o[[h܂B
    CSmartPointer &operator =( const CSmartPointer &p_rcSmartPointer )
    {
// ()
        // Rs[܂B
        m_pcPrinter = p_rcSmartPointer.m_pcPrinter;
        m_piRefCounter = p_rcSmartPointer.m_piRefCounter;
        // QƃJE^[𑝂₵܂B
        AddRef();

uAhXRs[ AddRef() o֐ĂяoƂŁAȉ̂
ɂӂ̃X}[g|C^ЂƂ́q CDlgPrinter NX̕ϐr
̃AhXƂɂȂ킯łv

 cSmartPointer() 
m_piRefCounter 
m_pcPrinter                          
                                     
  1                                                      
 cSmartPointer(E)       CDlgPrinter NX̕ϐ  
m_pcPrinter Output()                     
m_piRefCounter     
      int ^ϐ                 
  2                     2  
                                 

wO̍ŏƓԁAĂƂˁx
uƁB̎_ŁAEAhX킯łv

          CDlgPrinter NX̕ϐ̃AhX
    cSmartPointer = cSmartPointer;
         ()            (E)

ŵ̕폜āAÊɒu킯ˁccx
uŁA悤ɁA cSmartPointer(E) ͊֐̖߂lv
wȂȂăfXgN^Ăяo킯ˁx
u Release() o֐ĂяoĎQƃJE^[1炳
܂B}ɂƂȂ܂v

 cSmartPointer() 
m_piRefCounter 
m_pcPrinter                          
                                     
                                                               
                                 CDlgPrinter NX̕ϐ  
                                Output()                     
      iȂȂj             
                                  int ^ϐ                 
                                  1  
                                 

uāA cSmartPointer() AhXq CDlgPrinter NX
̕ϐr̃AhXɒu܂v
wx
uȂ̂ŁA̍s GetPointer() o֐ĂяoƁA
q CDlgPrinter NX̕ϐr̃AhXԂ܂v

    // o͂܂B
    cSmartPointer.GetPointer()->Output( "\n" );

wOƓŁAŃ|[tBY@\Ă킯ˁx
uƁB GetPointer() o֐̖߂ľ^ CPrinter NX
̃|C^ǁAۂɂ͂̔hNX CDlgPrinter NX
AhXԂAƂ킯łv
wŁA Output() o֐͉z֐ŃI[o[ChĂ邩炻
ĂяoAƁBȂقǂˁ[x
uāAŌ̒߁v
wH@ŏI肶Ȃ́Hx
u܂cĂB cSmartPointer ϐĂA
q CDlgPrinter NX̕ϐrƎQƃJE^[́q int ^ϐr
delete ȂƁv
wAAꂵȂƃ[NႤˁBłA 
= ZqI[o[[hĂāA = ő炻ꂪĂ
ꂽǁAx͂ǂ́Hx
usĂ WinMain() ֐xĂ݂悤v

int WINAPI WinMain
    ( HINSTANCE p_hInstance
    , HINSTANCE p_hPrevInstance
    , LPSTR p_pchCmdLine
    , int p_iCmdShow
    )
{
    // o͗pɁA CSmartPointer NX󂯎܂B
    // ܂fobOp󂯎܂B
    CSmartPointer cSmartPointer = GetPrinterInstance( DEBUG_PRINTER );
    // o͂܂B
    cSmartPointer.GetPointer()->Output( "\n" );

    // Ƀ_CAOp󂯎܂B
    cSmartPointer = GetPrinterInstance( DLG_PRINTER );
    // o͂܂B
    cSmartPointer.GetPointer()->Output( "\n" );
    ܂ŗB
    return 0;
}

uꂩ WinMain() ֐甲܂B cSmartPointer ϐ́Hv
wȂȂccAfXgN^Ă΂IIx
uƁBNX^ϐȂȂƂɂ̓fXgN^Ăяo
܂v
wĂƂ́A GetPrinterInstance() ֐甲ƂƓŁA
fXgN^ĂяoāA Release() o֐Ăяo
Ɓx

    // QƃJE^[ 1 炵A[Ȃ܂B
    void Release()
    {
        // QƃJE^[ЂƂ炵܂B
        --( *m_piRefCounter );
        // QƃJE^[[ɂȂ܂B
        if( *m_piRefCounter == 0 )
        {
            delete m_pcPrinter;
            delete m_piRefCounter;
        }
    }

ũo֐ł́A܂QƃJE^[ЂƂ܂v

 cSmartPointer() 
m_piRefCounter 
m_pcPrinter                          
                                     
                                                               
                                 CDlgPrinter NX̕ϐ  
                                Output()                     
                                 
                                  int ^ϐ                 
                                  0  
                                 

wQƃJE^[ 0 ɂȂIIx
uƂƂ́Ả if ̒ɓ̂ delete s܂v

            delete m_pcPrinter;
            delete m_piRefCounter;

wŁAOƓ悤 CDlgPrinter NX̕ϐ int ^ϐ
킯ˁx

 cSmartPointer() 
m_piRefCounter 
m_pcPrinter                          
                                     
                                                               
                                 CDlgPrinter NX̕ϐ  
                              Output()                     
         ̕ϐ            
         delete܂           int ^ϐ                 
                                0          
                                 

uƂ킯ŁA WinMain() ֐甲Ƃɂ́A new ōꂽ
ӂ̕ϐ͂ delete āA[N͋NȂAƂ
킯łv
wccx

/*
    Preview Next Story!
*/
w񂪂炪ႤIx
u܂Â͍ĝˁv
wccg炢ȂȂƂȂȂHx
u͎gӂKvȂłv
w[IHx
uƂ킯Ŏv
 Version 17.28 X}[g|C^̂܂Ƃ 
wɂÂIx
u̐[ʔȂĂƁccv
w}]΁Ix


////////////////////////////////////////////////////////////////////
/*                          ӁII                            */

Ẽ[ԐMȂłB
EӌE]Ez[`[ʂȓL]肨肭B
http://www.kab-studio.biz/nikki2/index.html
EwǓo^Ƃɂ͂̃y[WōsȂĂB
http://www.mag2.com/m/0000012198.htm
E͎ōsȂĂB
EobNio[͂̃y[Wɂ܂B
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
*/
////////////////////////////////////////////////////////////////////

