y‰SŽŅнŒ}zC/C++Ž ..
[2ch|„Menu]
177:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/25 12:57:28
>>175
ƒfƒXƒgƒ‰ƒNƒ^‚š‚Q‰ń˜A‘±‚ŌĂń‚Å‚é

178:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/25 13:10:15
ƒNƒ‰ƒXA‚𐶐¬‚·‚éƒtƒ@ƒNƒgƒŠ‚Ŗ‚ ‚Į‚āA

A *FactoryA::create(ArgX, ArgY, ArgZ, ...)
{
new A(ArgX, ArgY, ArgZ, ...);
}

‚±‚̂悤‚ČŒ`‚ňų”‚š‚»‚Ģ‚Ü‚Ünew‚ɃfƒŠƒQ[ƒg‚µ‚Ä‚¢‚Ü‚·
A‚ŖŒÅ’č‚Č‚ēƒRƒ“ƒXƒgƒ‰ƒNƒ^‚̐”‚¾‚ƃI[ƒo[ƒ[ƒh‚š—Ķ”C‚¹‚ɒljĮ‚·‚ź‚Ī‚¢‚¢‚̂ł·‚ŖA
Factory<A>‚̂悤‚Ƀeƒ“ƒvƒŒ[ƒgˆų”‚Ģź‡‚ɂȂé‚Ę—Ķ”C‚¹‚ł͂ł«‚Ü‚¹‚ń
‚±‚ĢŽč‚Ģ–ā‘肚‰ń”š‚·‚é•ū–@‚Ķ‚ ‚č‚Ü‚·‚©H

179:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/25 13:17:03
>>177
delete‚̂Ƃ«‚Éhoge‚ɵĢ޼ުøÄ‚Ŗ‘¶Ż‚·‚é‚Ę‚«‚Ģ‚ŻƒfƒXƒgƒ‰ƒNƒ^‚ŖŒÄ‚Ī‚ź‚é‚ꂤH•v‚·‚邱‚Ę‚Ķo—ˆ‚Č‚¢‚Å‚µ‚傤‚©

‚ā‚Ķ‚č‘f’¼‚É1‰ń‚Ģˆ—‚²‚Ę‚Énew‚Ędelete‚šŒJ‚č•Ō‚µ‚½•ū‚Ŗ—Ē‚³‚»‚¤‚Å‚·‚ˁA‚ ‚肪‚Ę‚¤ŒäĄ‚¢‚Ü‚µ‚½

180:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/25 13:34:25
void *v = ::operator new (sizeof(Hoge));

T *p = new (v) T;
p->~T();
operator delete (p, v);

p = new (p) T;
p->~T();
operator delete (p, v);

::operator delete (v);



‚»‚ź‚É‚µ‚Ä‚ą‚Č‚ń‚Å
delete (v) p;
‚Į‚ď‘‚Æ‚Č‚¢‚ń‚¾‚낤‚Č
placement new/deleteŠÖŒW‚ĶŽd—l‚Ŗ‚Č‚ń‚©‹CŽ‚戫‚¢

181:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/25 13:36:02
>>179
ŒN‚Ŗ—~‚µ‚¢‚Ģ‚Ķ boost::optional ‚©‚ą‚µ‚ź‚Č‚¢B

182:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/25 17:57:19
>>175
new‚Ķ‚»‚ń‚Ȃɒx‚­‚Č‚¢B

vector‚Ŗ‚»‚ź‚ā‚Į‚Ă邩‚ēB

vector<T> hoge(1);//placement new‚³‚ź‚éB
hoge.resize(0); //ƒfƒXƒgƒ‰ƒNƒ^‚ŖŒÄ‚Ī‚ź‚éB
hoge.resize(1);//placement new‚³‚ź‚éB
//ƒXƒR[ƒv‚©‚ēo‚ź‚ĪŸŽč‚ɃfƒXƒgƒ‰ƒNƒ^‚ŖŒÄ‚Ī‚ź‚éB


183:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/25 18:15:41
”ńPODŒ^‚É
T *p = new (v) T;
‚Į‚Ä•s–”‚¢‚ń‚¶‚į‚Č‚©‚Į‚½H”z’u\•¶‚Č‚ń‚Ä‚ ‚Ü‚čŽg‚ķ‚ń‚©‚ēŠØˆį‚¢‚¾‚Į‚½‚ē‚·‚Ü‚ń

184:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/25 18:25:03
POD‚¶‚į‚Č‚­‚Ä‚ą–ā‘č‚Č‚¢‚ę

185:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/25 18:27:38
ŽĄŪplacement new‚Ę•’Ź‚Ģnew‚Į‚Ăǂ̂­‚ē‚¢‘¬“x‚æ‚Ŗ‚¤‚ńH
’N‚©—˜_’l’m‚ē‚Č‚¢H

186:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/25 18:44:42
’Pƒ‚ɍl‚¦‚Ä(placement new/delete‚̉ń”*¶ƒƒ‚ƒŠŠm•Ū/ŠJ•ś‚É‚©‚©‚鎞ŠŌ)‚Ģ•Ŗ‚¾‚Æ‘¬‚­‚Č‚é
¶¬”jŠü‚µ‚Ü‚­‚鏼‡‚ĶƒXƒQ[‘¬‚­‚Ȃ邯‚ǁA‚»‚¤‚łȂ¢ź‡‚͂قږ³ˆÓ–”

187:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/25 18:49:22
‹t‚ÉŒ¾‚¦‚ΐ¶¬”jŠü‚µ‚Ü‚­‚é‚Ȃ瑁‚­‚Č‚é‚ń‚¾‚ę‚ˁH
‚¤‚µA‚æ‚å‚Į‚ĘŽĄ‘Ŗ‚µ‚Ä‚­‚éB‚ ‚肪‚Ę‚¤B

188:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/25 18:49:40
>>184
‚ ‚źA‚Ē‚¤‚¢‚¤‚Ę‚«•s–”‚¢‚ń‚¾‚Į‚ƁEEE

189:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/26 19:15:46
>>188
ƒAƒ‰ƒCƒƒ“ƒg‚Ģ–ā‘č‚®‚ē‚¢‚¶‚į‚ˁH

190:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/26 20:10:02
‚ą‚µ‚Ü‚ø‚¢“_‚Ŗ‚ ‚é‚Ę‚µ‚½‚ē
”z—ń‚šoperator new()‚Ę”z’unew‚šŽg‚Į‚ÄŠm•Ū‚µ‚½‚ą‚̂ɑ΂µ‚Ä
delete[]‚šŽg‚¦‚Č‚¢A‚Ę‚©‚»‚¤‚¢‚¤“_B

191:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/26 20:13:46
>>190
‚»‚ź‚Ķnew‚ĢŽž‚ąŽ–ī‚Ķ“Æ‚¶‚¾‚ę‚Ė

192:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/26 20:28:29
C++0x‚Ģunion‚Å”ńPODŒ`‚ŖŽg‚¦‚é‚ꂤ‚ɂȂé‚Ģ‚Ķplacement new‚šŽg‚¤‚½‚߂Ȃ̂©‚ȁH
”‚܂łĶboost::variant‚̂悤‚Č‚±‚Ę‚š‚·‚é‚ɂ͔z—ń‚Å—ĢˆęŽę‚Į‚Ä‚½‚Æ‚Ēunion‚ŃAƒ‰ƒCƒƒ“ƒg‚Ģ–ā‘肹–³‚­ŠČ’P‚ÉŽg‚¦‚é—l‚ɂȂé‚Ģ‚©H

193:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/26 20:37:45
D&E‘ęŽO”Å‚ŖC++0x‚Ŗo‚½Œć‚ŏo”Å‚³‚ź‚é‚ę‚Č

194:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/26 20:50:24
>>191
unew‰‰ŽZŽqv‚́Aoperator new()‚Å—Ģˆę‚šŠm•Ū‚µ
ƒRƒ“ƒXƒgƒ‰ƒNƒ^‚šŒÄ‚яo‚µ‚ś‰»‚·‚邱‚Ę‚ŖŒˆ‚Ü‚Į‚Ä‚é‚ń‚¶‚į‚Č‚©‚Į‚½‚©‚ȁB
‹KŠi“Ē‚ń‚łȂ¢‚©‚ē’m‚ē‚ń‚Æ‚ĒB

‚ą‚µ‚»‚¤‚Č‚ēA‚»‚Ģ•ū–@‚ÅŠm•Ū‚µ‚½ƒIƒuƒWƒFƒNƒg‚šdelete‚Å‰š•ś‚·‚邱‚Ę‚ą‹–‚³‚ź‚»‚¤‚¾‚ŖB
‹KŠi“Ē‚ń‚łȂ¢‚©‚ē’m‚ē‚ń‚Æ‚ĒB

‚Ü‚½A­‚Č‚­‚Ę‚ą
p = new T();
p->~T();
new (p) T();
‚µ‚½‚ą‚̂ɑ΂µ‚Ä‚Ķ
delete p;
‚Ķ‘åä•v‚Č‚ń‚¶‚į‚Č‚©‚Į‚½‚©‚ȁB
‹KŠi(ry

195:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/26 20:54:41
>>194
‚¢‚≓‚ŖŒ¾‚Į‚Ä‚é‚̂́u”z—ńnewv‚ą‘¶Ż‚µ‚Č‚¢‚ˁA‚Ę‚¢‚¤Ž–

196:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/26 20:55:40
Œ¾‚¢•ū‚Ŗ‚Ü‚ø‚¢‚Č

new A[]; ‚Ę‚©‚Ķo—ˆ‚邯‚ǁAŒÄ‚яo‚¹‚é‚Ģ‚ĶƒfƒtƒHƒ‹ƒgƒRƒ“ƒXƒgƒ‰ƒNƒ^‚Ģ‚Ż
ˆų”•t‚«ƒRƒ“ƒXƒgƒ‰ƒNƒ^‚ĶŒÄ‚Ńo‚¹‚Č‚¢

197:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/26 22:00:43
operator new/delete‚ĢƒI[ƒo[ƒ[ƒh‚Ę‚©placement new/delete‚Ķ‚½‚܂Ɏg‚¤‚Æ‚Ē‚»‚ź‚Ģ”z—ń”Å‚Ķˆź“x‚ąŽg‚Į‚½Ž–‚Č‚¢‰“ƒUƒ“ƒMƒ…ƒ‰
‚Ę‚¢‚¤‚©ƒRƒ“ƒpƒCƒ‰‚Å‹““®‚Ŗˆį‚¤‚µAƒOƒOƒb‚Ä‚ąŽd—l‚Ŗ—Ē‚­‰š‚ē‚ń‚µ‚Å’ś‚ß‚½

198:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/26 22:54:00
ƒAƒƒP[ƒ^‚ĢŽ©ģ‚Ķ—‰š‚Ŗ[‚­‚Č‚¢‚Ę‘å•ςȂ±‚ʂɂȂ邩‚ē•|‚¢‚ę‚Ė

199:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/26 22:56:32
VC‚¾‚Ę—v‘f”‚šŠi”[‚·‚镪‚¾‚Æ—]•Ŗ‚ÉŠm•Ū‚µ‚āA
‚»‚ĢŽŸ‚ĢƒAƒhƒŒƒX‚š•Ō‚·‚ń‚¾‚Į‚Æ

200:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/26 22:57:02
ƒAƒƒP[ƒ^‚ĢŽ©ģ‚Č‚ń‚Ä–{“–‚É•K—v‚©‚Ē‚¤‚©
‚³‚ń‚“‚ń‹į–”‚µ‚ÄŒ“‘„“I‚É‹y‚э˜‚ɂȂé‚ׂµB


201:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/26 23:07:45
Scoped Allocator‚Č‚ē‘g‚Żž‚݂łąŽg‚¦‚»‚¤‚Č—\Š“

202:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 02:28:15
>>199
gcc‚ą‚»‚ń‚Č‚¾‚Į‚½‚Ķ‚ø
‚ ‚ĘPOD‚̂Ƃ«‚Ķ—v‘f”—Ģˆę‚šŠm•Ū‚µ‚Č‚¢‚Ę‚©‚ ‚Į‚½‹C‚Ŗ‚·‚é

203:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 06:41:37
POD‚¶‚į‚Č‚¢‚Æ‚ĒƒfƒXƒgƒ‰ƒNƒ^‚Ŗ‚Č‚¢ź‡‚Į‚Ăǂ¤‚Č‚ń‚¾‚ėH
Šm‚©‚ß‚½Ž––³‚¢‚ā

204:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 06:51:18
placement new‚ĢƒfƒXƒgƒ‰ƒNƒ^‚Ŗ‚Č‚¢ź‡HƒNƒ‰ƒX‚Ŗ“®“I‚É—Ģˆę‚šŠm•Ū‚·‚é
•Ø‚¶‚į‚Č‚Æ‚ź‚ĪƒfƒXƒgƒ‰ƒNƒ^‚šˆÓ}“I‚ÉŒÄ‚Ńo‚³‚Č‚­‚Ä‚ąŽĄŠQ‚͂Ȃ©‚Į‚½‚ĘŽv‚¤
„§‚³‚ź‚Č‚¢‚Æ‚Ē

205:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 06:55:36
‚±‚ń‚ČŠ“‚¶‚©

class A {
int i;
};

class B {
int* p;
public:
B() : p(new int[100]) {}
~B() { delete[] p; }
};

int main()
{
char c[1000];

A* ap = new (c) A;
// ap->~A(); // –³‚­‚Ä‚ąŽĄŠQ‚͂Ȃ¢

B* bp = new (c) B;
bp->~B(); // ‚Č‚¢‚Ęƒƒ‚ƒŠƒŠ[ƒN‚·‚é
}

206:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 07:29:32
‚¢‚āA‚»‚¤‚¢‚¤˜b‚¶‚į‚Č‚­‚āA
”z—ńnew‚Å—v‘f”‚šŠi”[‚·‚é‚Ģ‚ĶƒfƒXƒgƒ‰ƒNƒ^ŒÄ‚Ōƒ‹[ƒv‚Ģ‚½‚ß‚¾‚©‚ē
inew‘¤‚Ķ—v‘f”‚Ŗ•Ŗ‚©‚é‚̂œĮ‚É•K—v‚͂Ȃ¢‚Ķ‚øj
ƒfƒXƒgƒ‰ƒNƒ^‚Ŗ‚Č‚Æ‚ź‚ĪPOD‚¶‚į‚Č‚­‚Ä‚ą”z—ńnew‚Å—v‘f”•ŖŠm•Ū‚·‚é•K‘R«‚͂Ȃ¢‚ę‚ˁA‚Ę
‚Ü‚ Šm•Ū‚µ‚Ä‚ąŽĄŠQ‚Ķ–³‚¢‚©‚ēŽ©•Ŗ‚Å”z—ńnew‚šŽĄ‘•‚·‚鏼‡‚Ķ–³šŒ‚ÅŠm•Ū‚·‚ź‚Ī‚¢‚¢‚ń‚¾‚Æ‚Ē
ƒfƒtƒHƒ‹ƒg‚ł͂ǂ¤‚Č‚Į‚Ä‚ń‚Ģ‚©‚ȁA‚Ę

207:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 08:25:35
>>206
‚¶‚į‚ ‚±‚¤‚¢‚¤Ž–‚©
‚æ‚Ȃ݂ÉCodeGuardŠ|‚Æ‚Ä‚Ż‚½‚Ŗ‰½‚ĢƒGƒ‰[‚ąo‚Č‚©‚Į‚½‚̂ŋ°‚ē‚­
–ā‘č‚Č‚¢‚ĘŽv‚ķ‚ź‚é

class A {
int i;
};

int main()
{
char c[1000];

A* ap = new (c) A[100];
// ap->~A(); // ‚Č‚­‚Ä‚ąŽĄŠQ‚͂Ȃ¢
}

208:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 14:09:46
‚¢‚āA‚Ē‚¤Œ©‚Ä‚ą>>203‚ŖŒ¾‚¢‚½‚¢‚Ģ‚Ķ
struct NonPod {
@int x;
@NonPod(): x(rand()) {}
@virtual int f() { return x; }
};
‚Ż‚½‚¢‚Č‚ą‚Ģ‚š
new NonPod[n];
‚µ‚½Žž‚ɁA—v‘f”‚š‹L˜^‚·‚é—Ģˆę‚šŠm•Ū‚·‚é‚Ģ‚©‚Ē‚¤‚©A‚¾‚ėB

209:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 14:11:50
>>208
—v‘f”‚Ķ‹L˜^‚µ‚Č‚¢

placement new‚Ģ”z—ń”łŊm•Ū‚µ‚½—Ģˆę‚š delete[] ‚Å‰š•ś‚µ‚ꂤ‚Ę‚·‚é‚Ę
•@‚©‚ēˆ«–‚

210:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 14:14:01
‚¾‚©‚ēA>>203‚ĢˆÓ}‚É placement new ‚ĶŠÖŒW‚Č‚¢‚Į‚Ä‚Ģ

211:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 14:16:24
>>199,>>202-203‚Ģ—¬‚ꂾ‚©‚ē‚Č

212:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 14:17:48
‚ą‚¤‚ЂƂB
‚Ē‚Ģˆ—Œn‚©‚ą–¾‹L‚¹‚ø‚Ɂu‹L˜^‚µ‚Č‚¢v‚Č‚ń‚ÄŒ¾‚¢Ų‚é‚ȁB
Žv‚¢‚Į‚«‚čˆ—ŒnˆĖ‘¶‚¾‚Į‚Ä‚±‚Ę‚ĶŠF‚ķ‚©‚Į‚Ä‚é‚ń‚¾‚©‚ēB

213:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 14:19:30
>>212
•@‚©‚ēˆ«–‚‚Į‚Ä‹KŠi•[‚ɏ‘‚¢‚Ä‚ ‚é‚¶‚į‚ń
‚Ę‚¢‚¤Ž–‚Ķ—v‘f”‚Ķ‹L˜^‚µ‚Č‚¢

214:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 14:33:33
‚́H

215:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 14:35:28
>>214
>>209

‚Ø‘O‚³‚ń‚ą“Ŗˆ«‚¢‚Č

216:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 14:36:15
‚‚܂čA‰Ų‚©‚ēˆ«–‚‚Ę‹KŠi•[‚ɏ‘‚¢‚ĂȂ¢ź‡‚Ķ
u—v‘f”‚š•K‚ø‹L˜^‚·‚év‚ʏ‘‚¢‚Ä‚ ‚é‚Į‚ā[‚Ģ‚©B

‚»‚ą‚»‚ą‰“‚́u–¢’č‹`v‚ʏ‘‚¢‚Ä‚ ‚邹‚Ģ‚ĶŒ©‚½Šo‚¦‚Ŗ‚ ‚邪
u‰Ų‚©‚ēˆ«–‚v‚Č‚ń‚ď‘‚¢‚Ä‚ ‚é‹KŠi‚ĶŒ©‚½‚±‚Ę–³‚¢‚Æ‚Ē‚ČB

217:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 14:38:35
>>216
‚¾‚©‚ēu–¢’č‹`‚̐U‚é•‘‚¢vundefined behavior‚¾‚Į‚[‚Ģ

218:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 14:38:59
>>213 ‚Ē‚¤‚¢‚¤—‹ü‚¾‚ę‚—

219:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 14:39:27
‚‚܂č
int * p = new int[n];
‚¾‚ʁA—v‘f”‚Ŗ‚Ē‚±‚É‚ą‹L˜^‚³‚ź‚Č‚¢A‚Ę‹KŠi‚̂ǂ±‚©‚ɏ‘‚¢‚Ä‚ ‚é‚Ģ‚©H

‚¾‚©‚ē
delete p[] ‚ł͂Ȃ­ delete p ‚š‚µ‚Ä‚ąŒ©‚ĈӋ`“®ģ‚ł͂Ȃ¢‚ʁB

‚Ӂ[‚ńB

220:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 14:40:22
>>219
”nŽ­”­Œ©
placement new‚Ģ”z—ń”Å‚¾‚ĘŒ¾‚Į‚Ă邾‚ė[‚Ŗ
ƒAƒz‚©

221:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 14:42:14
>>213>>216

–¢’č‹`‚̐U‚é•‘‚¢‚Å‚ ‚é == —v‘f”‚š‹L˜^‚µ‚Č‚¢
‚Į‚Ä‚©H


‚Ø‰Ō”Ø‚ÉZ‚ń‚Å‚¢‚é‚Į‚čK‚¹H

222:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 14:44:24
—v‘f”‚š‹L˜^‚µ‚½‚ē–¢’č‹`‚̐U‚é•‘‚¢‚ɂȂē‚Č‚¢‚¾‚낤‚Ŗ

223:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 14:45:14
‚¾‚¢‚½‚¢placement new‚Ķƒq[ƒv—Ģˆę‚Ƃ͉½‚ĢŠÖŒW‚ą‚Č‚¢‚¾‚ė

224:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 14:48:42
>>222-223
>>210-211‚š10‰ń“ǂݒ¼‚µ‚Ă݂½‚ē‚Ē‚¤H


225:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 14:49:53
>>222
ŸŽč‚ÉŒˆ‚ß•t‚Æ‚é‚Č‚ę

226:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 14:54:43
’m‚é‚©‚¢
‰“‚Ķ‚ ‚­‚܂łąplacement new‚Ģ”z—ń”łɂ‚¢‚Ęb‚š‚µ‚Ä‚é‚ń‚¾

227:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 15:15:00
‚¾‚©‚ēA‚Ă߁[‚́uÅ‰‚Į‚©‚炸[[‚Į‚ʁvƒYƒŒ‚½‚±‚Ę‚µ‚©Œ¾‚Į‚Ăˁ[‚ń‚¾‚ęB
‚Ă߁[u‚¾‚Ɓv‚ŖƒYƒŒ‚Ä‚ń‚¾‚ęB
‰½‚Ŗu‰“‚Ķ‚ ‚­‚܂łąv‚¾B

>>199‹y‚Ń>>202-203‚ɂ؂¢‚āA
uoperator new[]()‚ŖPODŽž‚Ķ—v‘f”‚Ģ—Ģˆę‚šŠm•Ū‚µ‚Č‚¢‚Ŗ”ńPODŽž‚ĶŠm•Ū‚·‚év˜b‚Ŗo‚Ä‚é
‚Å>>203‚Ŗu‚¶‚į‚ ƒfƒXƒgƒ‰ƒNƒ^‚Ģ–³‚¢”ńPOD‚Č‚ē(operator new[]‚Ģ“®ģ‚Ķ)‚Ē‚¤‚Č‚Į‚Ä‚¢‚é‚Ģ‚©v
‚Ę‚¢‚¤‹^–ā‚šo‚µ‚Ä‚¢‚éB

‚Ȃ̂É>>204-205‚¾‚Ģ>>207‚¾‚́AŠ®ąų‚ɘ_“_‚Ŗ‚ķ‚©‚Į‚ĂȂ¢‘‚«ž‚Ż‚š‚µ‚Ä‚¢‚éB
>>206‚Łu‚»‚¤‚¶‚į‚Č‚­‚āv‚ĘŽw“E‚³‚ź‚Ä‚¢‚é‚É‚ą‚©‚©‚ķ‚炸AƒYƒŒ‚Ü‚­‚čB
(Œ¾‚Į‚Ę‚­‚ŖA>>197-206‚Ģ—¬‚ź‚Ģ’†‚ɂ͉“‚Ģ‘‚«ž‚Ż‚Ķˆź‚Ā‚ą–³‚¢)

‚µ‚©‚ąAu–¢’č‹`“®ģ‚Å‚ ‚év‚Ƃ́u—v‘f”‚š‹L˜^‚µ‚Č‚¢‚±‚Ƃł ‚év‚Ę‚¢‚¤
‘¼l‚ɂ͗‰š•s”\‚Č—‹ü‚܂Ŏ‚æo‚µ‚āB
>>203‚Ķ‚Ø‚»‚ē‚­u(‹KŠi‚ł͉½‚ąŒˆ‚ß‚ē‚ź‚Ä‚¢‚Č‚¢‚¾‚낤‚Ŗ)
ŒĀX‚Ģˆ—Œn‚ł͂ǂ¤‚Č‚ń‚¾‚낤Hv‚Ę‚¢‚¤‹^–ā‚šo‚µ‚½‚¾‚Æ‚Č‚Ģ‚É
ŸŽč‚Ɂu—v‘f”‚š‹L˜^‚·‚邱‚Ę‚Ŗ‹KŠi‚ÅŒˆ‚ß‚ē‚ź‚Ä‚¢‚év‚Ę‚¢‚¤‚±‚ʂɂµ‚āB

228:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 15:17:21
‚ AŖ‚́uoperator new[]()‚Ģ“®ģv‚Ę‚¢‚¤‚Ģ‚Ķˆį‚¤‚©B
new[]‰‰ŽZŽq‚Ŗu—v‘f”•Ŗ‚Ģ—Ģˆę‚š‘½‚ß‚Éoperator new()‚É—v‹‚·‚év‚Ŗ³‚µ‚¢‚©‚ȁB

229:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 15:19:50
>>226
”“ǂݕԂµ‚Ă݂½‚ŖA>>206‚Ŗu‚»‚¤‚¶‚į‚Č‚­‚āv‚ĘŒ¾‚Į‚Ä‚¢‚铹—e‚Ģ
u”z—ńnewv‚šŸŽč‚Ɂu”z’unewv‚Ɠǂݑւ¦‚ĂȂ¢‚©H

230:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 17:01:50
ƒfƒtƒHƒ‹ƒg‚ł͂ǂ¤‚Č‚Į‚Ä‚ń‚¾‚ėA‚Į‚Ä‚ń‚¾‚©‚ē
–¾‚ē‚©‚Éplacement new‚ł͂Ȃ¢‚¾‚ė

231:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 20:53:10
ą–¾”\—̖͂³‚¢lŠŌ‚Ŗ‚Ā‚¢‚¤‚Į‚©‚莩ŒČ•]‰æ‚‚©‚Į‚½‚č‚·‚é‚ʁA
‚»‚±‚ē’†‚̐lŠŌ‚š”nŽ­”nŽ­Œ¾‚Į‚Ä•é‚炳‚Č‚«‚į‚¢‚Æ‚Č‚¢‚©‚炽‚¢‚Ö‚ń‚¾B

232:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 22:35:11
—‰š”\—Ķ‚Ŗ‘«‚č‚Č‚¢“z‚Ģ•ū‚ŖŽn––‚É•‰‚¦‚Č‚¢‚Æ‚Ē

233:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 22:38:41
‚Ē‚Į‚æ‚ą‚Ē‚Į‚悾

234:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 22:48:53
–³‘Ź‚Éƒvƒ‰ƒCƒh‚¾‚ƍ‚‚¢‚©‚ē–{“–‚Ɏז‚

235:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 22:57:20
l‚š•Ļ‚¦‚ꂤ‚ĘŽv‚Į‚½‚ē‚Ü‚øŽ©•Ŗ‚Ŗ•Ļ‚ķ‚ē‚É‚į‚Č‚ē‚ń‚ę
Ž©•Ŗ‚Ŗ•Ļ‚ķ‚炸‚É‘¼l‚š•Ļ‚¦‚ꂤ‚ĘŽv‚Į‚Ä‚ąA•S–œ”NŠ|‚ƂĂą1ƒ~ƒŠ‚ą•Ļ‚ķ‚ē‚Č‚¢‚ĘŽv‚¦

236:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 23:33:49
‚Č‚ń‚©‚·‚°[•KŽ€‚É’£‚č•t‚¢‚Ä‚é“z‚Ŗ‹‚é‚ˁB

237:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 23:48:13
‚Ę‚¢‚¤‚©•Ŗ‚©‚Į‚ĂȂ¢“z‚Pl‚¾‚Æ‚¾‚ė
l‚Ģ‚¹‚¢‚É‚·‚é‘O‚ÉŽü‚肚‚ę‚­Œ©‚ė‚Ę

238:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/27 23:52:39
>>229‚ŖƒYƒoƒŠŠjS‚š“Ė‚¢‚Ä‚é‚Č

239:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/28 01:47:39
‚·‚݂܂¹‚ńDŠĀ‹«ˆĖ‘¶‚ĢŽæ–ā‚Ȃ̂ł·‚Ŗ
long‚āint‚ĢƒTƒCƒY‚Ŗ64bit‚ā32bit‚ŕςķ‚é—į‚͂悭Œ©‚é‚̂ł·‚Ŗ
short‚ālong long‚Ŗ•Ļ‚ķ‚鎥—į‚Į‚Ä‚ ‚é‚̂łµ‚傤‚©H
‚ę‚낵‚­‚ØŠč‚¢‚µ‚Ü‚·

240:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/28 02:21:23
>>239
short ‚Ķ -32,767 ` +32,767 ‚š•\Œ»‚Å‚«‚邱‚Ę‚Ŗ•ŪŲ‚³‚ź‚Ä‚¢‚é Ø 16bit ˆČć
long long ‚Ķ -9,223,372,036,854,775,807 ` +9,223,372,036,854,775,807 ‚š•\Œ»‚Å‚«‚邱‚Ę‚Ŗ•ŪŲ‚³‚ź‚Ä‚¢‚é Ø 64bit ˆČć

‚»‚źˆČŠO‚ĶŒˆ‚ß‚ē‚ź‚Ä‚¢‚Č‚¢‚©‚ē•Ļ‚ķ‚é‚©‚ą‚µ‚ź‚Č‚¢

ŽĄ—į‚́cc
short ‚Ŗ4ƒoƒCƒg‚ČƒRƒ“ƒpƒCƒ‰‚šŽ©•Ŗ‚Åģ‚ź‚Ī‚¢‚¢

241:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/28 03:30:55
>>203
ƒRƒ“ƒXƒgƒ‰ƒNƒ^EƒRƒs[ƒRƒ“ƒXƒgƒ‰ƒNƒ^E‘ć“ü‰‰ŽZŽq‚š’č‹`‚µ‚½ƒNƒ‰ƒX‚ÅŽŽ‚µ‚Ă݂½B
­‚Č‚­‚Ę‚ącodepad‚Ģgcc‚́AƒfƒXƒgƒ‰ƒNƒ^‚Ģ—L–³‚Ģ‚ŻŒ©‚Ă邯‚½‚¢B
URLŲŻø(codepad.org)

242:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/28 03:43:49
>>239
char‚ĢƒTƒCƒY‚Ŗ9ƒrƒbƒg‚Ę‚©32ƒrƒbƒg‚Ę‚¢‚¤ŠĀ‹«‚ĶŽĄŻ‚·‚é‚̂ŁA‚½‚Ō‚ń
short‚ālong long‚ą‚»‚ź‚Č‚č‚É•Ļ‚ČƒTƒCƒY‚ɂȂé‚ĘŽv‚¤B

ˆź”Ź“I‚ČWindows/Linux/Mac‚ĢŠJ”­ŠĀ‹«‚ł́A64ƒrƒbƒgƒ^[ƒQƒbƒg‚Å‚ ‚ė
‚¤‚Ę 16bit shortA64bit long long ‚µ‚©Œ©‚½‚±‚ʂȂ¢‚ˁB



243:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/28 04:29:53
>>240
>>242
‚±‚ź‚Ķ¢‚č‚Ü‚µ‚½EEE
‚Ę‚ą‚ ‚źŽQl‚ɂȂč‚Ü‚µ‚½
‚ ‚肪‚Ę‚¤‚²‚“‚¢‚Ü‚·D


244:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/28 08:30:09
¢‚éEEE‚Ģ‚©H
stdint.h ‚Ģ int16_t, int64_t ‚šŽg‚¦‚Ī‚¢‚¢‚Ę‚¢‚¤˜b‚ł͂Ȃ¢‚Ģ‚©

245:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/28 15:29:14
C++‚Å‚Ģƒƒ‚ƒŠŠm•ۂɂ‚¢‚Ä‹³‚¦‚ĉŗ‚³‚¢B

—v‘f”‚Ŗ•Ļ“®‚·‚é”z—ń‚̉ņ‚Ģˆ×‚Ģ—Ģˆę‚š–c‘å‚Ȑ”Šm•Ū‚·‚é‚Ę‚µ‚Ü‚·B
ƒf[ƒ^1[70]
ƒf[ƒ^2[1]
ƒf[ƒ^3[36]
ƒf[ƒ^4[12]
E
E
E
‚»‚µ‚Ä‚»‚ź‚ē‚šŠĒ—‚·‚éƒAƒhƒŒƒX‚Ģ”z—ń‚šģ‚č‚Ü‚·B
ƒf[ƒ^1‚ĢŠJŽnƒAƒhƒŒƒX
ƒf[ƒ^2‚ĢŠJŽnƒAƒhƒŒƒX
ƒf[ƒ^3‚ĢŠJŽnƒAƒhƒŒƒX
ƒf[ƒ^4‚ĢŠJŽnƒAƒhƒŒƒX
E
E
E
‚±‚̂Ƃ«A—ĢˆęŠm•ۂ͂ЂƂ‚ø‚Ānew‚Ę‚©‚ÅŠm•Ū‚µ‚½‚Ł‚¤‚Ŗ‚¢‚¢‚̂łµ‚傤‚©H
‚»‚ź‚Ę‚ą‹‘å‚Č—Ģˆę‚šŽ©•Ŗ‚ÅŠm•Ū‚µA‚»‚Ģ’†‚ÉŒ„ŠŌ‚š‹l‚ß‚é‚ꂤ‚Ƀf[ƒ^‚š‹l‚ߍž‚ń‚Å‚¢‚­
ŠĒ—ƒNƒ‰ƒX‚šŽ©ģ‚·‚那‚¤‚Ŗ‚¢‚¢‚̂łµ‚傤‚©H
‘OŽŅ‚̂ق¤‚ŖŠČ’P‚»‚¤‚ł͂ ‚é‚ń‚Å‚·‚ŖAC++‚Ģ“®ģ‚Ģ’mŽÆ‚Ŗ‚ ‚Ü‚č‚Č‚­‚ÄˆČ‰ŗ‚Ģ•sˆĄ‚Ŗ‚ ‚č‚Ü‚·B
E–c‘å‚Ȑ”‚±‚Ü‚²‚Ü‚Ę—ĢˆęŠm•Ū‚·‚邱‚Ƃʼn½‚ē‚©‚Ģˆ—•‰‰×‚Ŗ”­¶‚µ‚Č‚¢‚©H
E‚ą‚µ‚ą“K“–‚ÉŠm•Ūo—ˆ‚é‹ó‚«—ĢˆęŒ©‚Ā‚Æ‚ÄŠm•Ū‚·‚鏼‡AŒ„ŠŌ‚Ŗ‚܂΂ē‚ɂȂĮ‚Ä
@ƒƒ‚ƒŠ‚Ŗ’f•Љ»‚³‚źA–{—ˆ‰Ā”\‚ČŠm•Ū—Ź‚ę‚肹Šm•Ūo—ˆ‚é—e—Ź‚Ŗ­‚Č‚­‚Č‚Į‚Ä‚µ‚Ü‚ķ‚Č‚¢‚©H

ƒf[ƒ^—Ģˆę‚͐”–œ‚©‚ēÅˆ«”•S–œŒĀ’PˆŹ‚ÅŠm•Ū‚µA•p”ɂɏĮ‚µ‚½‚čA’ljĮ‚·‚é‚Ę‚µ‚Ü‚·B
‹X‚µ‚­‚ØŠč‚¢‚µ‚Ü‚·B

246:245
10/03/28 15:32:43
‚Č‚ØAvector‚Ȃǂ̑¶Ż‚Ķ’m‚Į‚Ä‚¢‚é‚̂ł·‚ŖA‚»‚Ģź‡A€”õ‚µ‚Ä‚¢‚é—e—ʂ𒓂¦‚½ź‡A
—Ģˆę‚ĢÄŠm•Ū‚É‚ę‚Į‚ăf[ƒ^‚ĢƒAƒhƒŒƒX‚Ŗ•Ļ‚ķ‚Į‚Ä‚µ‚Ü‚¢‚Ü‚·B

ƒvƒƒOƒ‰ƒ€‚Ķƒf[ƒ^‚ĢƒAƒhƒŒƒX‚š‹L‰Æ‚µ‚ďī•ń‚š‚ā‚čŽę‚č‚·‚é•”•Ŗ‚Ŗ‘½‚¢‚Ģ‚Åvector‚Ķl‚¦‚Ä‚¢‚Ü‚¹‚ńB


247:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/28 15:38:42
>>245
ƒf[ƒ^‚Ķ’P“Ę‚Ånew‚·‚ź‚Ī‚©‚Ü‚ķ‚Č‚¢B‚ę‚Į‚Ū‚Ē‘½‚¢ź‡‚Ķƒv[ƒ‹‚ȂǂšŽg‚¤‚ŖA‚½‚¢‚Ä‚¢‚Ģź‡‚Ķnew‚ÅŽ–‘«‚č‚éB
‚»‚±‚Ö‚Ģƒ|ƒCƒ“ƒ^‚švector‚É•ŪŽ‚·‚ź‚Ī‚¢‚¢Bƒ|ƒCƒ“ƒ^‚¾‚Æ‚š•ŪŽ‚·‚é‚Č‚ēƒxƒNƒ^[‚̐L’£‚¶‚Ģ–ā‘č‚ĶŠÖŒW‚Č‚­‚Č‚éB
vector‚É’¼Śƒ|ƒCƒ“ƒ^‚š“ü‚ź‚é‚Ędelete‚Ŗ–Ź“|‚Ȃ̂Åshared_ptr‚šŽg‚¤‚Ģ‚ŖŠy‚¾B




248:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/28 15:43:19
int main() {
int *p = new int;
cout << p << endl;
p = new int;
cout << p << endl;
delete p;
return 0;
}

‚ĶŠŌˆį‚Į‚Ă܂·‚©H
Å‰‚Ģp‚ĶƒŠ[ƒN‚ɂȂéH

249:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/28 15:46:00
>>248
ƒŠ[ƒN‚·‚éB
‚Q‰ńnew‚Ådelete‚P‰ń‚¾‚©‚ēŠmŽĄB

250:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/28 15:49:13
>>245
ƒf[ƒ^‚Ģ—v‘f”‚ÉŠÖ‚·‚铝Œvī•ń‚Ŗ‚Č‚¢‚±‚Ƃɂ́A
new‚ŏ\•Ŗ‚Ę‚µ‚©Œ¾‚¦‚Č‚¢B
‚½‚¾A—v‘f”‚ę‚č—]•Ŗ‚ÉŠm•Ū‚µ‚āAŒˆ‚Ü‚Į‚½ƒTƒCƒY‚Ģ”{”‚É‘µ‚¦‚邱‚ƂŁA
ˆź”Ź“I‚ɂ͒f•Љ»‚šŒø‚ē‚·‚±‚Ƃ͂ł«‚é‚ĘŽv‚¤B

251:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/28 15:49:15
>>249
‘¦ƒŒƒX‚ ‚肪‚Ę‚¤‚²‚“‚¢‚Ü‚·B
“Æ‚¶•ϐ”‚ĶŽg‚¢‚܂킵‚µ‚Č‚¢‚Ģ‚ŖŠī–{‚Å‚·‚©H

252:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/28 15:58:57
>>251
‚¤‚ńB
Žg‚¢‚܂킵‚Ä‚ąˆźŲƒƒŠƒbƒg‚Ŗ‚Č‚¢‚Ī‚©‚č‚©A“ǂ݂ɂ­‚¢‚µÅ“K‰»‚Ģ–WŠQ‚ɂȂéB

253:245
10/03/28 16:10:23
>>247
—L“‚²‚“‚¢‚Ü‚·B‚½‚¾‚ā‚Ķ‚č•sˆĄ‚Ȃ̂́AOS‚©‚ēŒ©‚ăvƒƒOƒ‰ƒ€‚Ŗƒƒ‚ƒŠ‚Ģ‚±‚±‚©‚炱‚±‚܂łšŽg—p‚µ‚½‚¢‚Ę—\–ńinew‚ÅŠm•ہj‚·‚é‚ĘŽv‚¤‚̂ł·‚ŖA
‚»‚Ģ—\–ń‚µ‚½—Ģˆę‚Ģƒf[ƒ^i‚±‚±‚©‚炱‚±‚܂Łj‚š•ŪŽ‚µ‚Č‚¢‚Ę‚¢‚Æ‚Č‚¢‚ĘŽv‚¤‚̂ł·‚ŖAÅˆ«”•S–œŒĀ‚Ģƒf[ƒ^‚šŠm•Ū‚·‚鏼‡A
‘OŽŅ‚Å‚ĶŠJŽniƒAƒhƒŒƒX{I—¹ƒAƒhƒŒƒXj–”•S–œŒĀ•Ŗ‚Ģƒƒ‚ƒŠ‚šč—L‚µ‚Ä‚µ‚Ü‚¢AŒćŽŅ‚¾‚ʁiŠJŽnƒAƒhƒŒƒX{I—¹ƒAƒhƒŒƒXj‚ĢˆźŒĀ‚Ģ‚Ż‚ÅĻ‚Ż
‘OŽŅ‚¾‚Ę‚»‚ꂾ‚ƂсƒK’PˆŹ‚Ģƒƒ‚ƒŠĮ”‚Ä‚µ‚Ü‚ķ‚Č‚¢‚̂łµ‚傤‚©H

>>250
—L“‚²‚“‚¢‚Ü‚·B‚Ȃ那‚ǁA—Ⴆ‚Ī—v‘f”‚š‚P‚O‹ęŲ‚č‚Å”»’肵‚Ä‚»‚Ģ‹ęŲ‚č‚ÅŠm•Ū‚·‚邱‚ʂɂę‚čA
ˆź“xŠJ•ś‚³‚ź‚ÄŽ•”²‚Æ‚É‚Č‚Į‚½—Ģˆę‚ɐV‚µ‚¢ƒf[ƒ^‚Ŗ‚·‚Į‚Ū‚č‚͂܂é‰Ā”\«‚Ŗ‚‚Ü‚é‚Ę‚¢‚¤‚±‚Ƃł·‚ˁH
ŽQl‚É‚µ‚Ü‚·B

254:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/28 16:17:03
>>253
ƒq[ƒv‚ĢŠĒ——Ģˆę‚Ģ‚±‚ʁH‚P‚O‚O–œ‚Å‚ą‚P‚O”ƒƒK‚¾‚µwindows‚Č‚ē–ā‘č‚Č‚¢‚¾‚낤B
‚»‚ź‚ę‚肹ƒq[ƒv‚ĢÅ‘åƒTƒCƒY‚š‹C‚É‚µ‚½‚Ł‚¤‚Ŗ—Ē‚­‚Č‚¢‚©‚ȁB

255:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/28 16:22:51
>>253
ę‚ø‚Ķ‹š’¼‚Éģ‚Į‚Ă݂½‚ē?
‚»‚ź‚š“®‚©‚µ‚Ă݂ź‚Ī–ā‘č“_‚ą‚ę‚č”»‚čˆÕ‚¢‚¾‚낤‚µƒfƒoƒbƒK‚Å’Ē‚¤‚Ȃǂµ‚Ä’mŒ©‚š“¾‚ē‚ź‚éƒ`ƒƒƒ“ƒX‚ą‘‚¦‚éB
Žn‚ß‚©‚ē‚«”\‚š–ŚŽw‚µ‚½‚ēAƒfƒoƒbƒO‚Ģ’iŠK‚Å“ńi‚ąŽOi‚ą‚¢‚©‚Č‚­‚Ȃ邼B

256:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/28 16:34:33
ƒf[ƒ^‚ĶŒć‚ė‚ɒljĮ‚·‚邾‚Æ‚Č‚ķ‚ÆH
‚»‚ź‚Č‚ēdeque‚šŽg‚¤‚Ę‚¢‚¢‚ęB
deque‚ĶŒć‚ė‚ɒljĮ‚·‚邾‚Æ‚Č‚ēƒƒ‚ƒŠ‚ĢÄ”z’u‚Ķ‹N‚±‚ē‚Č‚¢B

257:245
10/03/28 16:48:23
>>256
—L“‚²‚“‚¢‚Ü‚·B
ƒf[ƒ^ŒQ‚Ģ’†ŠŌ‚©‚甲‚¢‚½‚肹s‚¢‚Ü‚·‚ŖA•Ź‚Ģ‰ÓŠ‚Å‚ĶŽg‚¦‚é‚©‚ą’m‚ź‚Ü‚¹‚ńB

>>254
>>255
—L“‚²‚“‚¢‚Ü‚·B
ŽĄŒ±“I‚Ę‚¢‚¤‚©Ž©•Ŗ‚ĢƒvƒƒOƒ‰ƒ€‹Zp‚ĢŒüć‚Ģˆ×‚ĢƒgƒŒ[ƒjƒ“ƒO‚šŒ“‚Ė‚ÄˆČ‰ŗ‚ĢŽd—l‚É‚µ‚ꂤ‚Ę‚Ø‚ą‚¢‚Ü‚·B

Eƒƒ‚ƒŠƒv[ƒ‹‚ő傫‚Č—Ģˆę‚šŠm•Ū‚·‚éB
@‚±‚Ģ—Ģˆę‚š’“‚¦‚鏼‡‚Ķ’iŠK“I‚ɒljĮŠm•Ū‚·‚éB
E—v‘f”‚Ķ‚TŒĀA‚P‚OŒĀA‚P‚TŒĀ‚Ȃǂ̒PˆŹ‚ÅŠm•Ū‚·‚éB
@‚±‚ź‚ĶŠJ•ś‚É‚ę‚莕”²‚Æ‚É‚Č‚Į‚½‚Ę‚±‚ė‚É‚·‚Į‚Ū‚č‚͂܂č‚ā‚·‚­‚·‚邽‚߁B
@‚Ü‚½ƒƒ‚ƒŠƒv[ƒ‹Žg—p‚É‚ę‚葼‚ĢƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚ę‚é–WŠQ‚Ŗ‚Č‚­‚Č‚č
@‚ę‚č‚͂܂č‚ā‚·‚­‚Č‚éB


258:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/28 17:05:40
vector<T*> data;
deque<T> pool;
queue<T*> recycle;
‚š—pˆÓ‚µ‚āA

Eƒf[ƒ^‚ĶŠī–{“I‚Épool‚©‚ēŽę‚Į‚Ä‚«‚Ädata‚ɃAƒhƒŒƒX‚š“ü‚ź‚ÄŽg‚¤
EŽg‚¢I‚ķ‚Į‚½ƒf[ƒ^‚Ķdata‚©‚ēķœ‚µ‚Ärecycle‚ɃAƒhƒŒƒX‚š“ü‚ź‚é
Erecycle‚Ƀf[ƒ^‚ŖŽc‚Į‚Ä‚éź‡‚Ķpool‚š–³Ž‹‚µ‚Ärecycle‚©‚ēdata‚ɃAƒhƒŒƒX‚šˆŚ‚·

‚±‚ń‚ČŠ“‚¶‚Å‚¢‚¢‚ń‚¶‚į‚Č‚¢

259:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/28 17:14:24
ƒƒ‚ƒŠƒv[ƒ‹‚Į‚Ĕėp‰»‚·‚é‚ę‚č–Ś“I•ʂɓŖ‚Ђ˂Į‚Ä‚»‚Ģ‚Ā‚ĒÅ“K‰»‚µ‚½•ū‚Ŗ—Ē‚­‚ˁH

260:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/28 17:15:09
>>257
‹Zp‚šŒüć‚³‚¹‚½‚¢‚ĘŽv‚¤‚Č‚ēę‚É‚±‚ź‚š“Ē‚ń‚ł؂ƁB
Wikipedia€–ŚŲŻø

•sˆĄ‚ā‘z‘œ‚š‚ą‚Ę‚ÉƒR[ƒh‚š•”ŽG‰»‚³‚¹‚é‚̂͗D‚ꂽ‹ZpŽŅ‚Ģ‚·‚邱‚Ƃł͂Ȃ¢B

261:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/28 17:18:00
—L“‚ĘŒ¾‚¢‚Č‚Ŗ‚ēA>255‚š–³Ž‹‚µ‚Ä‚ÄĪ‚¦‚éB

262:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/28 17:18:46
•S–œ’PˆŹ‚Ånew/delete‚Ŗ•p”ɂɍs‚ķ‚ź‚½‚ē‚»‚č‚įŽŽ‚·‚܂łą‚Č‚­ƒpƒtƒH[ƒ}ƒ“ƒX—Ž‚æ‚é‚ķ

263:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/28 23:09:23
‚¾‚¢‚½‚¢A‰½‚šŠwK‚µ‚½‚­‚Ä‚»‚ń‚Č‚ą‚ńģ‚낤‚ĘŽv‚Į‚½‚Ģ‚©
•S–œ‚ĢƒI[ƒ_[‚¾‚ʁAƒƒ‚ƒŠ‰]X‚ę‚čƒŒƒXƒ|ƒ“ƒX‚̂ق¤‚Ŗ–ā‘č‚ɂȂ肻‚¤‚¾‚Ŗ

264:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/29 10:22:58
•S–œ’PˆŹ‚Ånew/delete‚š•p”ɂɍs‚¤ƒvƒƒOƒ‰ƒ€‚Į‚ĉ½H
‚Ē‚±‚©‚̐l‹CƒT[ƒo[‚Å‚ąˆµ‚Į‚Ä‚ń‚Ģ‚©‚ȁH

265:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/29 13:26:29
ƒvƒŠƒRƒ“ƒpƒCƒ‹Ļ‚Żƒwƒbƒ_[‚šŽg‚¤ŪA’†‚É
define‚Å’†g‚Ŗ•ω»‚·‚éƒeƒ“ƒvƒŒ[ƒg‚š“ü‚ź‚Ä‚ą
–ā‘č‚Č‚¢‚Å‚µ‚傤‚©H
‚ā‚Ķ‚č“Ē‚Żž‚Ż•ū‚É‚ę‚Į‚Ă͖ā‘č‚ ‚čH


266:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/29 19:04:37
new‚ɑ΂µ‚Ädelete[]‚Ķ‚µ‚æ‚į‚¢‚Æ‚Č‚¢‚ą‚́H
‚ą‚µ‚­‚Ķƒ|ƒCƒ“ƒ^‚Ģ’†g‚š‰½‚ē‚©‚Ģ•ū–@‚Å’P‘Ģ‚©”z—ń‚©‹ę•Ź‚·‚é•ū–@‚Ķ–³‚¢‚ą‚̂ł·‚©H

267:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/29 19:10:31
ƒRƒ“ƒpƒCƒ‹‘O‚Ƀm[ƒ}ƒ‹new/deleate‚š”z—ńnew/delete‚É’uŠ·‚¦‚éƒXƒNƒŠƒvƒg‘–‚点‚ź‚Ī‚¢‚¢B

268:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/29 19:10:40
>>266
’P‘̂ȂēƒXƒ}[ƒgƒ|ƒCƒ“ƒ^‚šA”z—ń‚Č‚ēSTLƒRƒ“ƒeƒi‚šŽg‚¦‚Ī‚»‚ń‚ȐS”z‚Ķ—v‚č‚Ü‚¹‚ńB
‚[‚©AJavaScript‚Ģˆ«–²‚ĢÄŒ»‚ɂȂ邩‚ēƒ|ƒCƒ“ƒgę‚Ŗ”z—ń‚©‚Ē‚¤‚©‚š”»’č‚·‚é‚Č‚ń‚Ä‚±‚Ę‚Ķl‚¦‚Č‚¢•ū‚Ŗ‚¢‚¢B

269:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/29 19:11:21
>>266
> new‚ɑ΂µ‚Ädelete[]‚Ķ‚µ‚æ‚į‚¢‚Æ‚Č‚¢‚ą‚́H
‚¾‚߁B–¢’č‹`‚Ģ“®ģB•@‚©‚ēˆ«–‚‚Ŗo‚é‚©‚ąB
> ‚ą‚µ‚­‚Ķƒ|ƒCƒ“ƒ^‚Ģ’†g‚š‰½‚ē‚©‚Ģ•ū–@‚Å’P‘Ģ‚©”z—ń‚©‹ę•Ź‚·‚é•ū–@‚Ķ–³‚¢‚ą‚̂ł·‚©H
‚Č‚¢B

T* p = new T;

T* p = new T[10];

T a(0);
T* p = &a;

p‚Ŗ‚±‚Ģ3‚‚̂ǂź‚Ȃ̂©‚·‚ē”»’č•s‰Ā”\B


270:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/29 19:14:08
> ”z—ń‚Č‚ēSTLƒRƒ“ƒeƒi‚šŽg‚¦‚Ī
boost::shared_array‚Į‚Ä‚Ģ‚ą‚ ‚邺‚ęI


271:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/29 22:05:27
boost‚Ģƒv[ƒ‹‚Į‚Ä“Z‚߂ĂƂ遨‘«‚č‚Č‚­‚Č‚Į‚½‚ē‚Ü‚½“Z‚߂ĂƂ遨‚܂ʂ߂ĔjŠü‚Į‚Ä‚µ‚Ä‚é‚́H
ÅŒć‚̂܂Ƃ߂ĔjŠü‚š‚µ‚Č‚©‚Į‚½‚牄X‚Ęƒƒ‚ƒŠH•t‚µ‚Ä‚¢‚­‚Ģ‚©‚ȁH

272:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/29 22:10:18
make_sieve“ą‚Ģfree(sieve)‚ÅŽ€‚Ź‚ń‚Æ‚Ē‰½‚ŖŒ“ˆöH
URLŲŻø(kansai2channeler.hp.infoseek.co.jp)

ŠĀ‹«
ƒRƒ“ƒpƒCƒ‰FVS2008
OSFXP SP3
‚»‚Ģ‘¼FBCC‚¾‚ĘƒGƒ‰[‚š“f‚©‚Č‚¢

”‹C‚Ć‚¢‚½‚Æ‚ĒI—¹Žž‚Éprimes‚šŠJ•ś‚µ‚ĂȂ¢‚̂͋C‚É‚µ‚Č‚¢‚ŁEEE


273:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/29 22:40:24
>>272
Error 00001. 0x130610 (Thread 0x0EEC):
Access overrun: Attempt to access 4 byte(s) at 0x00B8F550+4000, that is at
offset 0+4000 in heap block 0x00B8F550 which is only 4001 bytes long.
| sieve1.c line 27:
| if(sieve==NULL) exit(1);
|
|> for(i=0;i<=limit;i++) sieve[i]=0;
| for(i=4;i<=limit;i+=2) sieve[i]=1;
| for(i=3;i<=limit/2;i+=2){
Call Tree:
0x0040123C(=sieve1.exe:0x01:00023C) sieve1.c#27
0x004011A3(=sieve1.exe:0x01:0001A3) sieve1.c#13
0x32AD8D9E(=CC32100MT.DLL:0x01:0D7D9E)

The memory block (0x00B8F550) [size: 4001 bytes] was allocated with malloc
| sieve1.c line 24:
| void make_sieve(int limit){
| int i,j,idx,cnt;
|> int *sieve=(int*)malloc(sizeof(int)*limit+1);
| if(sieve==NULL) exit(1);
|
Call Tree:
0x0040121A(=sieve1.exe:0x01:00021A) sieve1.c#24
0x004011A3(=sieve1.exe:0x01:0001A3) sieve1.c#13
0x32AD8D9E(=CC32100MT.DLL:0x01:0D7D9E)

‚Č‚ń‚©ˆź”tƒGƒ‰[o‚é
”ĶˆĶŠO‚šƒAƒNƒZƒX‚µ‚Ă邯‚½‚¢‚¾‚Ė

274:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/29 22:41:25
‚́[‚ń
malloc(sizeof(int)*(limit+1));@‚ĢŠŌˆį‚¢‚¶‚į‚ˁ[‚́H

275:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/29 22:47:02
int x = 0xXXXXXXXX;

unsigned int y = static_cast<unsigned int>(x);

‚±‚ĢƒLƒƒƒXƒg‚ÅÅćˆŹƒrƒbƒg‚Ķ•W€‚Å•K‚øˆŪŽ‚³‚ź‚Ü‚·‚©H

276:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/29 22:59:13
>>273-274
‚»‚ꂾIIŽw“E‚³‚ź‚é‚܂ŋC‚Ć‚©‚Č‚©‚Į‚½‰“ƒAƒz‚·‚¬‚é‚—
ƒTƒ“ƒNƒX

277:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/29 23:27:22
>>265
ƒvƒŠƒRƒ“ƒpƒCƒ‹ƒwƒbƒ_[‚šƒCƒ“ƒNƒ‹[ƒh‚·‚é‘O‚ɁAˆÓ–”‚Ģ‚ ‚é•¶‚š‘‚¢‚Ă͂¾‚߁B
‚¾‚©‚ēdefine‚É‚ę‚é•ĻX‚͂ł«‚Č‚¢B

278:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/29 23:49:30
>>265
—Ⴆ‚ĪVC‚ł͂±‚ń‚Ȑ§ŒĄ‚Ŗ‚ ‚éB
URLŲŻø(msdn.microsoft.com)

define‚š•ĻX‚·‚邽‚ŃƒvƒŠƒRƒ“ƒpƒCƒ‹‚š‚ā‚č’¼‚¹‚Ī‚¢‚¢‚ń‚¶‚į‚Č‚¢H

279:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/29 23:55:26
•ʐl‚¾‚Ŗ‰”ƒŒƒXB
‚‚܂čƒvƒŠƒRƒ“ƒpƒCƒ‹ƒwƒbƒ_‚𕔐”—pˆÓ‚µ‚ėA‚ʁH


280:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/30 01:14:17
ƒvƒŠƒRƒ“ƒpƒCƒ‹Žg‚¤‚Ģ‚š‚ā‚ß‚é‚Ę‚¢‚¤•ū–@‚ą‚ ‚é

281:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/30 01:41:18
ƒvƒƒWƒFƒNƒg‚ĢƒtƒHƒ‹ƒ_\¬‚Å‚¢‚¢‚ā‚č•ū‚Č‚¢‚©‚Č
boost‚šƒ}ƒl‚µ‚ꂤ‚©‚ĘŽv‚Į‚½‚Æ‚Ēƒ\[ƒXŒ©‚Ä‚ąboost‚Ŗ‚Ē‚¤‚¢‚¤ƒ‹[ƒ‹‚Å‚ā‚Į‚Ä‚é‚Ģ‚©‚ķ‚©‚ē‚ń‚©‚Į‚½EEE

282:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/30 02:11:54
>>281 ”‚Ŗ‚Ē‚ń‚ȍ\¬‚ŁA‚»‚ź‚̉½‚Ŗ‹C‚É“ü‚ē‚Č‚¢‚Ģ‚©q‚ׂęB

283:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/30 15:53:11
Windows‚ÅCPU‚ĢŽü”g”‚šŽę“¾‚·‚é•ū–@‚š‹³‚¦‚Ä‚­‚¾‚³‚¢

284:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/30 16:20:33
T& GetT();
T const& GetT()

‚±‚̂悤‚ÉŅŻŹŽŠÖ”‚̕Ԃč’l‚Ŗconst‚Ę”ńconst‚ĢƒI[ƒo[ƒ[ƒh‚͉”\‚Ȃ̂łµ‚傤‚©H

285:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/30 19:31:15
T& GetT();
T const& GetT() const;
‚±‚ź‚Č‚ē‰Ā”\B

obj.GetT() ‚Ę‚µ‚Ä
obj‚Ŗconst‚Č‚ē‚ĪŒćŽŅ‚ŖA
‚»‚¤‚Å‚Č‚Æ‚ź‚Ī‘OŽŅ‚ŖŒÄ‚Ī‚ź‚éB

286:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/30 21:07:04
>>277-278
‚ā‚Ķ‚č–ā‘肪‚ ‚č‚»‚¤‚Å‚·‚ˁB
ŽĄŪŽg‚Į‚Ä‚é‚Ģ‚ĶBCB‚Č‚ń‚ŁAVC‚š^Ž—‚µ‚Ä
ź—p‚Ģƒwƒbƒ_[ģ‚Į‚ēƈź‚ɂȂé‚ꂤ‚É‚µ‚Ę‚«‚Ü‚·B
‚ ‚肪‚Ę‚¤B

287:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/30 22:07:09
char (*a)[4] = new char[10][4];
‚Ģdelete‚Ķdelete(a)A‚»‚ź‚Ę‚ądelete [] (a)?
Ž©•Ŗdelete [] (a)‚ĘŽv‚¤‚ń‚¾‚Æ‚ĒA‚Ē‚¤H
delete(a)‚¾‚Ęƒƒ‚ƒŠƒŠ[ƒN‚ɂȂē‚Č‚¢‚́H@‚±‚ź‚Å‚ą‘S‚ÄŠJ•ś‚³‚ź‚é‚Ģ

288:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/31 00:52:34
>>287
delete[]‚šŽg‚¢‚Ü‚µ‚傤

new char[10][4]; ‚Ģ10‚͕ϐ”‚Å‚ą‚ę‚­Achar (*)[4]A‚‚܂čcharŒ^‚Ģ
—v‘f”4‚Ģ”z—ń‚Ö‚Ģƒ|ƒCƒ“ƒ^‚š”z—ńŠm•Ū‚·‚鉉ŽZŽq‚Ȃ̂ŁAdelete‚Ķ
[]‚š•t‚Æ‚Č‚¢‚Ęƒƒ‚ƒŠƒŠ[ƒN‚µ‚Ü‚·A‚Ę‚¢‚¤‚ę‚č–¢’č‹`‚Ģ“®ģ‚Å‚·

289:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/31 17:26:59
C/C++‚ɂ‚¢‚ÄŠī–{“I‚ČŽ–‚©‚ą‚µ‚ź‚Ü‚¹‚ń‚ŖAƒ|ƒCƒ“ƒ^‚Ę”z—ń‚ɂ‚¢‚ÄŽæ–₳‚¹‚ĉŗ‚³‚¢B

int[] a;
int* p1 = a;

‚͂킩‚é‚̂ł·‚ŖA

int* p2, p3;
p2 = a;
*p3 = a;

‚Ģˆį‚¢‚Ŗ‚¢‚܂ЂƂ‚͂Į‚«‚č—‰š‚Å‚«‚Ü‚¹‚ńB
‚Ü‚½AŽŸ‚̂悤‚É‚µ‚½ŽžAƒ|ƒCƒ“ƒ^‚͂ǂ±‚ĢƒAƒhƒŒƒX‚šŽw‚·‚Ģ‚©‘z‘œ‚Ŗ‚Ā‚«‚Ü‚¹‚ńd

p2 = &a;
*p3 = &a;

‚ę‚낵‚­ŒäŽw“ģ‚Ģ‚Ł‚Ē‚ØŠč‚¢‚¢‚½‚µ‚Ü‚·B


290:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/31 18:12:46
>>289
a‚ŖintŒ^‚Ģ”z—ń‚¾‚Ę‚µ‚āA
p2‚Ķa‚ĢƒAƒhƒŒƒX‚šint‚Ģƒ|ƒCƒ“ƒ^‚©‚ēƒAƒNƒZƒX‚Å‚«‚é‚ꂤ‚É
ƒRƒs[‚µ‚Ä‚¢‚鐳ķ‚Č‹LqB

*p3‚́AŠm•Ū‚ą‚³‚ź‚Ä‚¢‚Č‚¢‚Ē‚±‚©‚Ģ—Ģˆę‚šŽw‚·•s’č‚Čƒ|ƒCƒ“ƒ^‚ɁAa‚©‚ēŽę“¾‚Å‚«‚éƒAƒhƒŒƒX’l‚š
‘‚«ž‚ń‚Å‚¢‚é•s³‚Č‹LqB

&a‚Ģ•ū‚́A‘½•Ŗˆ—Œn‚Ŗ”cˆ¬‚µ‚Ä‚¢‚é‚Ē‚±‚©‚ĢƒAƒhƒŒƒX‚š‚»‚ź‚¼‚źƒRƒs[‚µ‚½‚č
•s³‚ȏ‘‚«ž‚Ż‚š‚µ‚ę‚¤‚Ę‚µ‚Ä‚¢‚é‚Į‚Ä‚¢‚¤‚©ƒ„ƒƒ


291:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/31 18:16:07
int *p2 ,p3
‚Į‚ÄintŒ^Īß²ŻĄp2‚ĘintŒ^•ϐ”p3‚ĢŠm•Ū‚¶‚į‚Č‚¢‚©H

292:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/31 18:20:08
>>289
‚»‚ĢƒR[ƒh‚́A‚¢‚­‚Ā‚©ƒRƒ“ƒpƒCƒ‹‚Ŗ’Ź‚ē‚Č‚¢‚Ę‚±‚낪‚ ‚éB
> int* p2, p3;
‚ ‚Ę‚±‚ź‚ąp2‚Ŗint‚Ö‚Ģƒ|ƒCƒ“ƒ^Ap3‚Ŗint‚ɂȂéC/C++‚Ģ橁B

p2 = a;
ƒ|ƒCƒ“ƒ^‚ŖŽw‚·ƒAƒhƒŒƒX‚š•Ļ‚¦‚é‚̂͂±‚źB

p2 = &a;
‚±‚ź‚Ķƒ|ƒCƒ“ƒ^‚Ö‚Ģƒ|ƒCƒ“ƒ^‚Ż‚½‚¢‚Č‚±‚ʂɂȂéB

*p3‚̂悤‚ÉŠŌŚŽQĘ‰‰ŽZŽq‚š‚Ā‚Æ‚é‚ʁAƒ|ƒCƒ“ƒ^‚ŖŽw‚·ƒAƒhƒŒƒX‚šŽQĘ‚·‚éB
‚‚܂čA*p3=a‚̂悤‚Č‘ć“ü‚́Aƒ|ƒCƒ“ƒ^‚ĢƒAƒhƒŒƒX‚š•Ļ‚¦‚é‚̂ł͂Ȃ­Aƒ|ƒCƒ“ƒ^‚ŖŽw‚·ƒƒ‚ƒŠ(•ϐ”)‚Ģ’l‚š•Ļ‚¦‚鎖‚ɂȂéB

293:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/31 18:50:32
>>289
Šī–{“I‚ČŽ–‚Ę‘O’u‚«‚Ŗ‚ ‚čA‚½‚Ü‚ÉŒė‰š‚µ‚ÄŠo‚¦‚Ä‚élA‚Ü‚½ŠŌˆį‚Į‚½ą–¾‚š‚·‚él‚Ŗ‚¢‚é‚Ģ‚Å
”O‚Ģ‚½‚߂‚¢‚łɏ‘‚¢‚Ă؂­‚ʁA C/C++ ‚ɂ́A—Ⴆ‚Ī uint‚Ģƒ|ƒCƒ“ƒ^["Œ^"v ‚̂悤‚Č•Ø‚Ķ‘¶Ż‚µ‚Č‚¢B‚±‚źd—vB
‚ ‚­‚܂ŁAuint ‚Ę‚µ‚Ĉµ‚ķ‚ź‚éA‚Ē‚±‚©‚Ģƒƒ‚ƒŠ—Ģˆę‚šŽw‚·ƒ|ƒCƒ“ƒ^v ‚Å‚ ‚Į‚āA‚±‚ź‚ĶŒ^‚¶‚į‚Č‚¢B

‚‚܂č“ǂݕū‚Ę‚µ‚āA‚»‚Ģ—į‚Ķ uint*v ‚Ģ up2v ‚łȂ­Auintv ‚Ģ u*p2vB

ŽĄŪ‚Ģ—p–@‚ɂ‚¢‚Ä‚Ķ >>292 ށ‚ĢƒŒƒX‚šŽQĘ‚µ‚Ä‚ą‚炤‚Ę‚µ‚āA˜V”kS‚¾‚Æ‚Ēƒƒ‚‚µ‚Ă؂­‚ʁA
‚»‚ą‚»‚ą•ϐ”‚ĢéŒ¾‚́A

@int x;

‚Ę‚ ‚Į‚½‚Ę‚«AÅ‰‚Ģ int ‚́i—Ⴆ‚ΐ®”‚Ŗ32bit‚¾‚Ę‚·‚é‚ʁjAuint‚Ę‚µ‚Ĉµ‚¤A‚SƒoƒCƒg‚Ģ—Ģˆęv ‚Ę‚¢‚¤ˆÓ–”‚Å‚µ‚©‚Č‚­A
‚Ü‚¾‚±‚ĢuŠŌ‚É‚Ķ•Ø—“I‚ɂǂ±‚©‚ĢƒAƒhƒŒƒX‚ɂ͉½‚ąŠm•Ū‚³‚ź‚Ä‚¢‚Č‚¢B@‚»‚µ‚ÄŽŸ‚É x ‚ʁA•ϐ”–¼‚Ŗ—ˆ‚½‚Ę‚«A
‚Ē‚±‚©‚Ƀƒ‚ƒŠ‚Ŗ‚SƒoƒCƒg•ŖŠm•Ū‚³‚źA‚»‚ź‚š‚ ‚ē‚ķ‚·–¼‘O‚Ę‚µ‚Ä x ‚ŖŠ„‚č“–‚Ä‚ē‚ź‚Ä‚¢‚éA‚Ę‚¢‚¤“®‚«‚ɂȂéB

‚±‚ź‚š“„‚Ü‚¦‚āA

@int *y;

‚́AÅ‰‚Ģ int ‚Å int ‚Ę‚µ‚Ĉµ‚¤4ƒoƒCƒg‚Ģ—Ģˆę‚Ę‚¢‚¤Œ^‚ŖéŒ¾‚³‚źA‚»‚ĢŽŸ‚Ģ * ‚́AƒƒCƒ‹ƒhƒJ[ƒh‚Ģ * ‚ĘŽ—‚½ˆÓ–”‚ŁA
u‚Ē‚±‚©‚ĢƒAƒhƒŒƒXv ‚Ę‚¢‚¤ˆÓŽv‚š•\‚µ‚Ä‚¢‚éB ‚‚܂č int * ‚¾B
‚ŁA‚µ‚©‚µ‚±‚ꂾ‚Æ‚¾‚Ę—¬Ī‚É‚»‚ĢŒćˆµ‚¦‚Č‚¢‚̂ŁA‚»‚ĢŽŸ‚Å‚±‚źŽ©‘̂ɖ¼‘O‚š‹‚ß‚Ä‚¢‚éB‚±‚ꂪ y B

‚»‚ń‚Č–ó‚ŁA‚±‚Ģ—į‚Ģź‡AŒ^‚Ę‚µ‚Ă͂ ‚­‚܂ŠintB@‚»‚µ‚ĕϐ”‚Ę‚µ‚āA‚»‚ź‚Ķƒ|ƒCƒ“ƒ^‚ĘéŒ¾‚³‚ź‚Ä‚¢‚é‚Į‚ĈӖ”‚Ģ‹Lq‚ɂȂ邩‚ēA

@int* z; @‚ł͂Ȃ­A@int *z;@‚Å‚Č‚Æ‚ź‚΂Ȃē‚Č‚¢B@‚±‚ń‚ČŠī‘bB


294:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/31 18:56:39
‚ą‚¤ˆź‚Ā’Ē‹L‚µ‚Ă؂­‚ʁA‚‚܂č

int x; @‚́A‚Ē‚±‚©•Ø—“I‚ČŠi”[ę‚ŖŠ„‚č“–‚Ä‚ē‚ź‚½‚ą‚̂ŁA‚»‚ź‚šŽw‚·–¼‘O‚Ŗ x ‚Ę‚¢‚¤ˆÓ–”‚Å‚ ‚čA
int *y;@‚́A‚Ē‚±‚¾‚©‚ķ‚©‚ē‚Č‚¢i‚Ē‚±‚Å‚ą‚¢‚¢ = *jŠi”[ę‚šŽ¦‚·‚ą‚̂ŁA‚»‚ź‚šŽw‚·–¼‘O‚Ŗ y ‚Į‚ÄŽ–B

‚»‚µ‚Ăǂæ‚ē‚©‚ąŒ^‚Ę‚µ‚Ä‚Ķ int B@EEE‚Į‚āA
‚Å‚ąŽĄŪ‚É‚Ķ int ‚Ģƒ|ƒCƒ“ƒ^[Œ^@‚Ż‚½‚¢‚Ɉµ‚¦‚Č‚¢‚Ę•s•ւȂ̂ŁA‚Ü‚é‚ÅŒ^‚̂悤‚ɐU•‘‚Į‚Ă͂¢‚é‚ń‚¾‚Æ‚ĒBƒLƒƒƒXƒg‚Ę‚©B

295:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/31 18:58:08
Žd—l‘‚Épointer type‚Ķo‚Ä‚«‚Ü‚·‚ŖB

296:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/31 19:02:50
Ž©ŽE‚µ‚Ä‚­‚é

297:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/31 19:03:07
C++‚Å‚Ķ
int[] a;
•\‹LOK‚ɂȂĮ‚½‚ń‚¾
‚±‚ź‚Ķint”z—ń‚šŽw‚·ƒ|ƒCƒ“ƒ^ a‚š•\‚·‚́H
‚Ü‚³‚©ŽQĘ‚¶‚į‚Č‚¢‚ę‚Ė



298:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/31 19:05:23
JavaL‚¢‚Č

299:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/31 19:07:03
‚Ē‚±‚©‚ĢƒXƒŒ‚Łuƒ|ƒCƒ“ƒ^v‚ʁuƒ|ƒCƒ“ƒ^‚ŖŽw‚·ęv‚šu•ó” ‚Ģ’n}v‚ʁu•󔠁v‚Å‰šą‚µ‚Ä‚¢‚é‚Ģ‚šŽv‚¢o‚µ‚½B
int x; // uintŒ^‚̕󔠁v
int* y; // uintŒ^‚̕󔠁v‚Ģ’n}
y = &x; // &‚Åx‚Ģ’n}‚šŽę“¾‚µ‚Äy‚É‘ć“ü
*y = 10; // ’n}‚Å‚ ‚éy‚ŖŽw‚·•ó” ‚Ö‚Ģ‘ć“ü

300:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/31 19:25:24
>>293 Œ^‚Ŗ–³‚¢‚Į‚Ä’fŒ¾‚µ‚æ‚Ⴄ‚̂͂ ‚ꂾ‚Æ‚ĒA‘å‘ĢŒ¾‚¢‚½‚¢‚±‚Ę‚Ķ‡‚Į‚Ä‚éB
‰½XŒ^‚́A‰½X@‚Į‚Ä‹L–@‚ŁA‰½X•ϐ”–¼‚Ģ•ū‚šCü‚·‚éEEE—Ⴆ‚Īƒ|ƒCƒ“ƒ^‚š‚ ‚ē‚ķ‚·*‚ā”z—ń‚š•\‚·[5] ‚̂悤‚Č‚ą‚̂́A
‚Č‚ń‚ÄŒ¾‚Į‚½‚ē‚¢‚¢‚Ģ‚©‚ȁEEE@Œ^‚ĢéŒ¾‚Ŗ2’i\‚¦‚ɂȂĮ‚Ä‚é‚ꂤ‚ČƒCƒ[ƒW‚ő؂¦‚ź‚Ī‚¢‚¢‚ń‚¶‚į‚Č‚¢‚©‚ȁB

‚½‚¾Java‚āC#‚̂悤‚ČŒ¾Œź‚Ģź‡‚́A‚»‚̕ӂ·‚Į‚«‚č‚܂ʂ߂đS•”“Æ‚¶‚ꂤ‚ČŒ^‚Ę‚µ‚æ‚ႤŒXŒü‚Ŗ‚ ‚é‚©‚ēA
‚»‚Į‚æ‚ʍ¬“Æ‚·‚é‚ʍ¬—‚·‚é‰Ā”\«‚Ķ‚ ‚é‚ꂤ‚Č‹C‚Ŗ‚·‚é


301:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/03/31 23:11:53
>>288
‚ ‚肪‚Ę‚¤‚²‚“‚¢‚Ü‚·B‚ā‚Į‚ς肻‚¤‚Å‚·‚ę‚ˁB

>—v‘f”4‚Ģ”z—ń‚Ö‚Ģƒ|ƒCƒ“ƒ^‚š”z—ńŠm•Ū‚·‚鉉ŽZŽq‚Ȃ̂Å
‰‰ŽZŽq‚Ķ‚Ē‚ź‚šŒ¾‚Į‚Ä‚¢‚é‚ń‚Å‚·‚©H

302:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/01 00:09:46
>>301
unewv‰‰ŽZŽq

303:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/01 01:26:50
>293

Œ^‚ɂ‚¢‚ÄŠŌˆį‚Į‚Ä‚é‚ęB

C/C++‚ł́A‚ ‚éŽÆ•ŹŽq‚ĢŒ^‚́A‚»‚ĢéŒ¾‚©‚ēŽÆ•ŹŽq‚šČ‚¢‚½‚ą‚̂ƒč‹`‚³‚ź‚Ä‚¢‚éB
‚¾‚©‚ēˆČ‰ŗ‚̂悤‚ɂȂéB
int i;@@=> i‚ĢŒ^‚Ķint
int *p; => p‚ĢŒ^‚Ķint*
int a[10]; =>a‚ĢŒ^‚Ķint[10]

‚ ‚ƕϐ”‚ĢéŒ¾(‚©‚Ā’č‹`)‚ɂ‚¢‚Ä‚Ģą–¾‚ąŒė‚čB’č‹`‚³‚ź‚½Žž“_‚сƒ‚ƒŠ‚ĶŠm•Ū‚³‚ź‚éB

éŒ¾‚Ģą–¾‚ąo’L–Ś‚·‚¬‚éBˆČ‰ŗ’ł³”Å‚š‹“‚°‚éB
@int x;
uint‚Ę‚µ‚Ĉµ‚¤—Ģˆęv ‚ŖŠm•Ū‚³‚ź‚éBauto•ϐ”‚Č‚ēA’l‚ĶƒSƒ~B

@int *y;
uint*‚Ę‚µ‚Ĉµ‚¤A—Ģˆęv ‚ŖŠm•Ū‚³‚ź‚éBauto•ϐ”‚Č‚ēA’l‚ĶƒSƒ~B‚‚܂čo’L–ڂȂƂ±‚ė‚šŽw‚µ‚Ä‚¢‚éB





304:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/01 13:25:00
‚ ‚éƒNƒ‰ƒX‚šŽĄ‘•‚·‚邽‚ß‚¾‚ƂɎg‚¤ƒwƒ‹ƒpƒNƒ‰ƒX‚Ŗ‚ ‚Į‚½‚Ę‚µ‚āA•’Ź‚Él‚¦‚é‚Ę
namespace{ class HelperClass {...}; }
‚šŽĄ‘•‚µ‚½‚¢ƒNƒ‰ƒX‚Ģƒ\[ƒX‚Ģ“Ŗ‚ē‚Ö‚ń‚ɏ‘‚­‚ĘŽv‚¤‚ń‚¾‚Æ‚ĒA‚±‚ź‚šƒtƒ@ƒCƒ‹•ŖŠ„‚µ‚½‚¢ź‡‚Ē‚¤‚·‚ź‚Ī‚¢‚¢‚¾‚낤‚©

305:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/01 13:46:09
>>304 namespace detail

306:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/01 14:39:16
WinAPI‚ĢRectangle‚Į‚Äright-left<=0‚Ģź‡‚Į‚Ä–¢’č‹`H

307:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/02 07:52:17
ƒRƒ“ƒsƒ…[ƒ^Œ¾Œź‚š‰½‚©Šo‚¦‚½‚­‚Äįu‚¤‚ø‚µ‚‚‚ąAˆź•ą“„‚Żo‚¹‚Ä‚¢‚Č‚¢‰SŽŅ‚Å‚·B
‚ā‚Į‚Ļ‚čC‚©‚Ȃʎv‚¢A‚±‚±‚É—ˆ‚Ä‚¢‚Ü‚·B”‚Ķ“Į‚ɍģ‚肽‚¢‚ą‚Ģ‚Ŗ‚Č‚¢‚ń‚Å‚·‚ŖA
ƒvƒƒOƒ‰ƒ€‚Ŗ‘‚Æ‚é‚ꂤ‚ɂȂĮ‚½‚ē‚ā‚肽‚¢‚±‚Ƃ͑ņŽR‚ ‚č‚»‚¤‚Å‚·B
•׋­‚Ģ‚½‚߂ɁA‚P‚O•Ŗ‚­‚ē‚¢‚ŏo—ˆ‚»‚¤‚Č—ūK–ā‘肚o‚µ‚Ä‚­‚ź‚Ü‚¹‚ń‚©H
ƒ‚ƒ`ƒx[ƒVƒ‡ƒ“‚Ŗ‚ ‚Ŗ‚č‚»‚¤‚Å‚·B

308:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/02 08:09:37
TopCoder‚Å‚ą‚ā‚ź
‚ ‚é‚¢‚ĶICPC‚̉ߋޖā’T‚µo‚µ‚Ä‚ā‚ź

309:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/02 08:17:07
‰SŽŅ‚Ŗ‚¢‚«‚Ȃ肻‚ź‚͂ǂ¤‚©‚ĘŽv‚¤
1-n‚܂ő«‚·ƒvƒƒOƒ‰ƒ€
•¶Žš—ń‚š‹t‡‚É‚·‚éƒvƒƒOƒ‰ƒ€
D‚«‚Ȃق¤‚š‚Ē‚¤‚¼

310:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/02 08:28:27
>>308
URLŲŻø(www.acm-japan.org)
‚±‚ń‚Ȃ₂ł·‚ˁB
‚½‚µ‚©‚É–Ź”’‚»‚¤‚Å‚·‚ˁB
‚ā‚Į‚½‚ē“Yķ‚µ‚Ä‚¢‚½‚¾‚Ƃ܂·‚©H

311:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/02 12:05:24
class Foo{
Hoge* hoge
}

‚±‚Ģhoge‚É‘½‘Ō“I‚É—v‘f‚šŽ‚½‚¹‚½‚¢‚̂ł·‚Ŗ
template‚š‚Ā‚©‚¤‚©AƒRƒ“ƒXƒgƒ‰ƒNƒ^‚É—v‘f‚š‚µ‚Ä‚¢‚³‚¹‚é‚©‚Ē‚æ‚炪‚ę‚¢‚Å‚µ‚傤‚©H

312:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/02 12:25:24
>>311
ƒ|ƒCƒ“ƒ^‚ĶƒXƒ}ƒ|‚É‚µ‚½‚Ł‚¤‚Ŗ‚¢‚¢
template‚¾‚Į‚½‚ēhoge‚šƒ|ƒCƒ“ƒ^‚É‚·‚é•K—v‚Ŗ–³‚¢‚ȁB

313:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/02 15:00:21
‚·‚݂܂¹‚ńAl‚¦•ū‚̐®—‚š‚µ‚½‚¢‚Ģ‚ÅŽæ–₳‚¹‚ĉŗ‚³‚¢B
Ž©•Ŗ‚Ķ•’iAJava ‚Ę C# ‚šƒƒCƒ“‚ÉŠJ”­‚µ‚Ä‚¢‚éŽŅ‚Ȃ̂ł·‚ŖAŽļ–”‚Ģ”ĶˆĶ‚Å C/C++ ‚š^–Ź–Ś‚É
Žg‚¢‚½‚¢‚ĘŽv‚¢A‚±‚±‚µ‚΂炭‚ø‚Į‚ʕ׋­‚š‘±‚Æ‚Ä‚¢‚Ü‚·B

Žæ–ā“ą—e‚́AuC++ ‚ÅŒ¾‚¤ƒNƒ‰ƒX"–¼" ‚́AC ‚ÅŒ¾‚¤\‘¢‘Ģ‚Ģƒ^ƒO–¼‚Ę“Æ‚¶‘Ø‚¦•ū‚Å‚¢‚¢‚Ģ‚©v@‚Å‚·B
‹ļ‘Ģ“I‚ÉŒ¾‚¤‚ʁAC(/C++) ‚Ģ\‘¢‘̂ɂ‚¢‚āAŒ»ŻŽ©•Ŗ‚Ķ‚±‚̂悤‚ɑ؂¦‚Ä‚¢‚Ü‚·B

@struct { “ą—e } •ϐ”–¼A, •ϐ”–¼BG ‚́A‚»‚Ģ“ą—e‚š\‘¢‚Ę‚µ‚ÄŽ‚Į‚½•”‡‘̂̂悤‚ȕϐ”‚Ę‚µ‚āAéŒ¾‚µ‚Ä‚¢‚éB‚æ‚傤‚ǁA
@int •ϐ”–¼A, •ϐ”–¼B;@‚ł́AŒ^–¼ int ‚Ģ•”•Ŗ‚ŖA{ “ą—e } ‚ĢŒ`‚Å•\Œ»‚³‚ź‚Ä‚¢‚é‚ꂤ‚ȏó‘ԁB
@‚»‚µ‚ÄŽĄŪ‚Ģ‹L–@‚Ę‚µ‚ẮA‚»‚ꂪ\‘¢‘Ģ‚ĢéŒ¾‚Å‚ ‚鎖‚š–¾Ž¦‚·‚邽‚߁Astruct ‚ĘÅ‰‚ɏ‘‚¢‚ăRƒ“ƒpƒCƒ‰‚É“`‚¦‚Ä‚¢‚éB

@‚³‚ē‚ɁA‚ ‚Ƃł±‚Ģ“Æ‚¶\‘¢‚šÄ“x—˜—p‚µ‚½‚¢iV‚µ‚¢•ϐ”‚šŽg‚¢‚½‚¢jź‡‚É”õ‚¦A
@‚±‚±‚Éˆź”­‚œƂ¶“ą—e‚šŽ¦‚·ˆ×‚Ģ uƒ^ƒO–¼v@‚šA‘‚­‚±‚Ę‚ąo—ˆ‚éB@‚»‚µ‚Ä‚»‚ź‚́A

@struct ƒ^ƒO–¼ { “ą—e } •ϐ”–¼A, •ϐ”–¼B; ‚ʁA‚ ‚鎞A
@struct ƒ^ƒO–¼ •ϐ”–¼C;@‚̂悤‚É‚µ‚ÄŠČˆÕ‚ÉŽg‚¤‚±‚Ę‚Ŗo—ˆ‚éB

@‚ŁAC++ ‚ɂȂĮ‚Ä‚©‚炱‚ĢÄ“xéŒ¾‚·‚éŪ‚Ģ struct ‚Ģˆź•¶‚ĶČ—Ŗ‚Å‚«‚é‚ꂤ‚ɂȂĮ‚½‚̂ŁA
@‚Ü‚é‚Å Java ‚ā C# ‚ÅŒ¾‚¤ƒNƒ‰ƒX–¼‚̂悤‚ÉŒ©‚¦‚Ä‚¢‚邯‚ǁA@ŽĄ‚Ķ‚±‚ź‚ĶŒ³XÄŒÄ‚яo‚µ‚Ģˆ×‚ĢAƒ^ƒO–¼‚¾‚Į‚½B

‚»‚µ‚āAC++ ‚ɂȂĮ‚蔓x‚Ķ‚ę‚čŽdŠ|‚Æ‚ĢŠg’£‚³‚ꂽ class ‚Ŗ“oź‚µ‚½‚ŖA‚±‚ĢŽž‚Ģ

@class –¼‘O { “ą—e } •ϐ”–¼;

‚É‚ ‚é "–¼‘O" ‚Ģ•”•Ŗ‚́Ać‹L—‰š’†‚É‚ ‚éƒ^ƒO–¼‚Ę“Æ—l‚ɑ؂¦‚Ă؂¢‚Ä‚¢‚¢‚ń‚Å‚µ‚傤‚©A‚Ę‚¢‚¤Ž–‚Å‚·B
‚ę‚낵‚­‚ØŠč‚¢‚¢‚½‚µ‚Ü‚·B

314:313
10/04/02 15:02:41
Œė‰š‚šµ‚«‚»‚¤‚Č•\‹L‚š‚µ‚½‚̂Œł³‚µ‚Ü‚·
~ŽĄ‚Ķ‚±‚ź‚ĶŒ³XÄŒÄ‚яo‚µ‚Ģˆ×‚ĢAƒ^ƒO–¼‚¾‚Į‚½B
›ŽĄ‚Ķ‚±‚ź‚ĶŒ³XÄ“xéŒ¾‚·‚éŪ‚É‹Lq‚šČ—Ŗ‚·‚éˆ×‚́Aƒ^ƒO–¼‚¾‚Į‚½B


315:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/02 15:25:13
>>313
‰“‚ą‚»‚ń‚ČŠ“‚¶‚É—‰š‚µ‚Ä‚½B‚±‚¤‚¢‚¤‹Lq‚Ŗo—ˆ‚é–󂾂©‚ē‚Č

class Foo {
@public:
@void bar() {
@@class { public: int add(int x, int y) { return x + y; } } calc;
@@int a = 1;
@@int b = 2;
@@printf("%d", calc.add(a, b));
@}
};

Œµ–§‚ɓƂ¶‚Ȃ̂©A‚ɂ‚¢‚Ă͗ ‚šŽę‚ē‚Č‚¢‚ĘŽ©g–³‚¢‚Ŗ


316:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/02 15:33:35
[‚­l‚¦‚·‚¬B‘S•”Œ^‚¾‚ęB
intŒ^AfloatŒ^Astruct fooŒ^Aclass barŒ^
int ‚Į‚Ă̂͑g‚Żž‚Ż‚ĢŒ^
class bigint‚ʏ‘‚Æ‚ĪŽ©•Ŗ‚Åbigint‚Ę‚¢‚¤Œ^‚š’č‹`‚Å‚«‚éB
int a = 0;
bigint b = 0;

317:313
10/04/02 15:47:49
>>315-316
ƒŒƒX‚ ‚肪‚Ę‚¤‚²‚“‚¢‚Ü‚·B‚»‚ą‚»‚ą‹C‚ɂȂĮ‚½‚«‚Į‚©‚Æ‚ŖAC/C++ ‚ł̂±‚Ģ\•¶‚šŒ©‚½‚¹‚¢‚Ȃ̂ł·B

@class –¼‘O {
@@“ą—e
@} •ϐ”;

Java ‚ā C# ‚Å‚ĢŠ“Šo‚¾‚ʁA‚±‚ĢˆŹ’u‚É "•ϐ”" ‚Ŗ—ˆ‚é‚Ģ‚Ŗ—‰šo—ˆ‚Ü‚¹‚ń‚Å‚µ‚½B
‚»‚µ‚Ä‚»‚ź‚ÅŽg‚¦‚é‚Į‚āA‚¢‚Į‚½‚¢ƒRƒ“ƒpƒCƒ‰‚Ķ‚±‚ź‚š‚Ē‚¤‰šŽß‚µ‚Ä‚é‚́H@‚Ę‹^–ā‚ÉŽv‚Į‚½Ž–‚Ŗ‚«‚Į‚©‚Ƃłµ‚½B

ˆź‰žA>>316 ‚³‚ń‚ŖŒ¾‚¤‚ꂤ‚ɁAu‚»‚ź‚Ķ‚»‚¤‚¢‚¤Œ^B‘S•”‚½‚¾‚ĢŒ^‚¾v ‚͂킩‚é‚̂ł·‚ŖA
ć‹L‚Ģ“_‚ŁA‚Ē‚¤Œ¾‚¤ˆÓ}‚Å‚±‚̂悤‚ȍ\•¶‚ɂȂĮ‚Ä‚¢‚é‚Ģ‚©—‰š‚Å‚«‚øA‚»‚Ģˆ×FX’²‚ׂ½ŠA
C ‚Å‚Ģ struct ‚Ŗ >>313 ‚É‚ ‚é‚ꂤ‚Č“ą—e‚¾‚Ę’m‚čA‚»‚ź‚Č‚ē‚Ī C++ ‚Å‘‚¦‚½ class ‚ɂ‚¢‚Ä‚ą“Æ—l‚Ȃ̂©‚Ȃʎv‚¢‚Ü‚µ‚½B

ć‹L‚Ģ\•¶‚©‚ēAu‚½‚¾‚ĢŒ^‚¾v ‚Å‚ĶžB–†‚ÉŽv‚Į‚Ä‚µ‚Ü‚¤Š‚Ŗ‚ ‚čAŽæ–₳‚¹‚Ä’ø‚«‚Ü‚µ‚½B‚·‚݂܂¹‚ńB

318:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/02 15:57:04
C‚ĘC++‚Åˆį‚¢‚Ŗ‚ ‚é‚©‚ē‚»‚̉e‹æ‚©‚ȁB
struct@xx@{@@...@}@;
typedef@struct@xx@xx;@//@C++‚ł͂±‚ꂪČ—Ŗ‚Å‚«‚éB
xx@v;


319:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/02 16:06:19
>>317
C++‚Å‚Ķstruct‚Ęclass‚͂قƂń‚Ē“Æ‚¶‚Į‚Ă̂͒m‚Į‚Ä‚éH
ˆį‚¢‚Ķƒƒ“ƒo‚ĢƒAƒNƒZƒXŽw’肚–¾Ž¦‚µ‚Č‚¢‚Ę‚«‚ĢƒfƒtƒH‚Ŗstruct‚ĶpublicAclass‚Ķprivate‚Į‚ÄŠ‚¾‚ƁB

320:313
10/04/02 16:26:55
ƒŒƒX‚ ‚肪‚Ę‚¤‚²‚“‚¢‚Ü‚·B

>>318
typedef struct { “ą—e } –¼‘O;
–¼‘O v;
‚Č‚ēA‚»‚̂܂ܖ¼‘O‚Ģ’č‹`‚ɂȂé‚̂ł킩‚é‚̂ł·‚ŖA
struct ‚Ģƒ^ƒO–¼‚Ę class ‚ĢƒNƒ‰ƒX–¼‚ĘŒ¾‚ķ‚ź‚Ä‚¢‚鏼Š‚Ģ–¼‘O‚ɂ‚¢‚āA“Æ‚¶‚©‚Ē‚¤‚©‚Ŗ‹C‚ɂȂĮ‚½‚̂ł·B

>>319
Žæ–ā‚É‚ą‘‚©‚¹‚Ä‚¢‚½‚¾‚«‚Ü‚µ‚½‚ŖA‚Ž‚µ‚듯‚¶‚©‚Ē‚¤‚©‚š’m‚肽‚©‚Į‚½‚̂ł·B
‚Å‚Ķ•Ļ‚ČŒ¾‚¢•ū‚©‚ą‚µ‚ź‚Ü‚¹‚ń‚ŖA“Æ‚¶‚ĘŽv‚Į‚Ä‚¢‚¢‚킯‚Å‚·‚ˁB
‚½‚¾AC++ ‚ɕςķ‚Į‚āuƒ^ƒO–¼v‚Ę‚¢‚¤Œ¾‚¢•\‚µ•ū‚́A‚½‚¾‚ĢCŽž‘ć‚©‚ē‚ĢƒŒƒKƒV[‚ĘŽv‚¦‚Ī‚¢‚¢‚Ę‚¢‚¤Š“‚¶‚Å‚µ‚傤‚©B


321:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/02 16:50:24
‰½‚Ŗ‹^–ā‚Ȃ̂©•Ŗ‚©‚ē‚Č‚­‚Č‚Į‚½‚ŖA‹KŠić‚Ģ˜b‚š‚µ‚½‚¢‚Ȃ炻‚ź‚ĶTag‚Ę‚¢‚¤‚±‚Ƃł¢‚¢‚ęB
‚½‚¾l‚¦•ū‚Ę‚µ‚Ä‚ĶŒ^–¼‚ŁAC‚Ę‚ĢŒŻŠ·‚©‚ēTag‚Ę‚µ‚Ă̑®«‚šŽc‚µ‚Ä‚¢‚é‚ʍl‚¦‚Ă悢B

322:313
10/04/02 17:00:48
>>321
‚ ‚肪‚Ę‚¤‚²‚“‚¢‚Ü‚·I
„‚½‚¾l‚¦•ū‚Ę‚µ‚Ä‚ĶŒ^–¼‚ŁAC‚Ę‚ĢŒŻŠ·‚©‚ēTag‚Ę‚µ‚Ă̑®«‚šŽc‚µ‚Ä‚¢‚é

‚±‚ĢˆźŒ¾‚Å‚·‚Į‚«‚肵‚Ü‚µ‚½B

‚ ‚Ę >>315 ‚³‚ń‚Ģ calc ‚Ģs‚ʍ‡‚킹‚āA>>319 ‚³‚ń‚ĢŒ¾‚¤ u‚قƂń‚Ē“Æ‚¶v ‚ą‡‚킹‚āA
‚·‚Į‚«‚肵‚Ü‚µ‚½B@‚ ‚肪‚Ę‚¤‚²‚“‚¢‚Ü‚µ‚½B


323:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/02 17:53:27
‚Č‚ŗboost‚ɂ͓®“IķœŽq•t‚«‚Ģ”ń‹¤—LƒXƒ}ƒ|‚Ŗ‚Č‚¢‚́H

324:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/02 22:32:56
>>323 ‚»‚ź‚ĶŒN‚Ŗ‚Ü‚¾ƒ‰ƒCƒuƒ‰ƒŠ‚Ģ’ńˆÄ‚šo‚µ‚Ä‚¢‚Č‚¢‚©‚ē‚¶‚į‚Č‚¢‚©‚ˁH

325:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/03 15:29:48
ƒXƒ}[ƒgƒ|ƒCƒ“ƒ^‚šŽg‚¤‚É‚µ‚ėŽ©ģ‚·‚é‚É‚µ‚ė
‰ß‹Ž‚Ģ’~Ļ‚Ƃ̐®‡«‚š•ۂ‚̂Ŗ–Ź“|‚¾‚µˆź“xŽg‚¢o‚·‚ʍ”Œć‚ø‚Į‚Ę”›‚ē‚ź‚邱‚ʂɂȂ邵‚Č‚Ÿ
•W€‚ÅŽĄ‘•‚³‚ź‚Ä‚é‚Č‚ē‚Ę‚ą‚©‚­A
‚¢‚­‚ēboost‚Ż‚½‚¢‚Č—L–¼‚Čƒ‰ƒCƒuƒ‰ƒŠ‚Ƃ͂¢‚¦”ń•W€‚ÉˆĖ‘¶‚·‚é‚̂͂æ‚å‚Į‚Ęˆį˜aŠ“‚ ‚é‚ȂʎžXŽv‚¤

326:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/03 16:49:37
>>325
> ”ń•W€‚ÉˆĖ‘¶‚·‚é‚̂͂æ‚å‚Į‚Ęˆį˜aŠ“‚ ‚é‚ȂʎžXŽv‚¤
ŠO•”ƒ‰ƒCƒuƒ‰ƒŠ‚ąAPI‚·‚ēŽg‚ķ‚Č‚¢‚Å
•W€C/C++‚Ģ”ĶˆĶ‚¾‚Ƃŏ‘‚©‚ꂽ—L–¼‚Čƒ\ƒtƒgƒEƒFƒA‚Ķ
‰“‚Ķˆź‚Ā‚ą‚µ‚ē‚ń‚Ģ‚¾‚ŖB
C/C++‚ĢŒĄŠE‚Å‚µ‚å‚»‚ź‚́B


327:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/03 19:02:31
>>326
ƒtƒŒ[ƒ€ƒ[ƒN‚Ż‚½‚¢‚ČŽg‚¢•ū‚ɂȂĮ‚æ‚Ⴄ‚Į‚Ä‚±‚Ę‚¶‚į‚Č‚¢H


328:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/04 02:34:35
ƒƒ“ƒo•ϐ”‚̂Ȃ¢ƒƒ“ƒoŠÖ”‚¾‚Æ‚ĢƒNƒ‰ƒX‚ĢƒTƒCƒY‚Ķ0‚ł悢‚̂łµ‚傤‚©H

329:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/04 02:37:59
>>328
‚»‚¤‚Ę‚ĶŒĄ‚ē‚Č‚¢B


330:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/04 02:48:38
>>328
C++‚Å‚Ķ0‚ł͂Ȃ¢Ž–‚Ŗ‹KŠi‚Å•ŪŲ‚³‚ź‚Ä‚¢‚é
——R‚š•·‚­‚ĘƒAƒhƒŒƒX‚šŽę‚邽‚ß‚¾‚Ę

331:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/04 10:28:12
‰½ŒĢƒNƒ‰ƒX‚ĢƒTƒCƒY‚Ŗ‚O‚¾‚ĘŽv‚Į‚½‚Ģ‚©

332:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/04 12:02:22
C‚ł͋ó‚Ģ\‘¢‘Ģ‚ĢƒTƒCƒY‚Ŗ0‚ɂȂ邩‚炾‚ė
C++‚͉¼‘zŠÖ”‚Č‚Ēƒ|ƒCƒ“ƒ^‚É“ü‚ź‚ÄŽg‚¤Žg‚¢•ū‚ą‚ ‚é‚Ģ‚Å
(‚ą‚Į‚Ę‚ąvtable‚Č‚Ē‚ÅŒ³X0‚ł͂Ȃ¢‚©‚ą‚µ‚ź‚Č‚¢‚Ŗ)‹ó‚Ģ
\‘¢‘Ģ‚āƒNƒ‰ƒX‚Å‚ą0‚ɂ͂Ȃē‚Č‚¢‚ꂤ‚ÉŻŒv‚³‚ź‚Ä‚¢‚é

333:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/04 12:25:49
>>328
> ƒƒ“ƒo•ϐ”‚̂Ȃ¢ƒƒ“ƒoŠÖ”‚¾‚Æ‚ĢƒNƒ‰ƒX‚ĢƒTƒCƒY‚Ķ0‚ł悢‚̂łµ‚傤‚©H
‚Ž‚µ‚ė‚Ł‚ŚŠŌˆį‚¢‚Č‚­0‚ɂ͂Ȃē‚Č‚¢‚±‚Ę‚Ŗ•ŪŲ‚³‚ź‚éB
—įŠO‚ĶEBO‚Ŗ“­‚¢‚½Žž‚Ģ‚Ż

334:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/04 12:31:20
‚¶‚į‚ ‹ó‚Ģ\‘¢‘Ģ‚ĶC‚ĘC++‚ÅŒŻŠ·«‚Ŗ–³‚¢‚Ģ‚©

335:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/04 12:43:37
( „Ķ„)‚Væ ‚Ö‚„`‰‚߂Ēm‚Į‚½

EBO (Empty Base Optimization)
‹ó‚ĢŠī’źƒNƒ‰ƒX‚ĢÅ“K‰»B

ƒƒ“ƒo•ϐ”‚šˆźŒĀ‚ąŽ‚½‚Č‚¢A‹ó‚ĢƒNƒ‰ƒXA‚Ę‚¢‚¤‚ą‚Ģ‚Ŗo—ˆ‚邱‚Ę‚Ŗ‚ ‚č‚Ü‚·B
‚µ‚©‚µ‹ó‚ĢƒNƒ‰ƒX‚Å‚ ‚Į‚Ä‚ąAƒAƒhƒŒƒX‚ĶˆźˆÓ‚ÉŒˆ‚߂Ȃ­‚Ă͂Ȃē‚Č‚¢‚̂ŁA
izeof( EmptyClass ) ‚Ķ 0 ‚ɂ͂Ȃč‚Ü‚¹‚ńB
EmptyClass arr[100];
assert( &arr[0] != &arr[1] ); // ƒAƒhƒŒƒX‚Ķˆį‚Į‚Ăė~‚µ‚¢’P“Ę‚ÅŽg‚¤Žž‚É‚Ķ
‚±‚Ģ–³‘Ź‚ĶŽd•ū‚̂Ȃ¢‚Ę‚±‚ė‚Å‚·‚ŖA —Ⴆ‚Ī‚±‚Ģ‹óƒNƒ‰ƒX‚©‚瑼‚ĢƒNƒ‰ƒX‚š”h¶
‚·‚é‚Ę‚«‚́AEmptyClass ‚Ģ•Ŗ‚ĢƒTƒCƒY‚Ķ 0 ‚É‚µ‚āA”h¶ƒNƒ‰ƒX‚Ģƒƒ“ƒo•ϐ”‚Ģ
•Ŗ‚¾‚Æ‚šŠm•Ū‚·‚éA‚Ę‚¢‚¤Å“K‰»‚Ŗ‰Ā”\‚Å‚·B C++‚Ģ‹KŠi‚Å‹–‚³‚ź‚Ä‚¢‚邱‚Ģ
Å“K‰»‚Ģ‚±‚Ę‚šAEmpty Base Optimization ‚ĘŒÄ‚Ń‚Ü‚·B

336:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/04 12:43:45
>>334
sizeof(‹ó‚Ģ\‘¢‘Ģ)‚Ŗ0‚ɂȂ邱‚Ę‚ŖCŒ¾Œź‚Ģ•W€‹KŠi‚Å•ŪŲ‚³‚ź‚Ä‚¢‚½‚©‚Ķ
‹L‰Æ‚ɂȂ¢‚Æ‚ĒA‚ą‚µ‚»‚¤‚Č‚ēC++‚ĘŒŻŠ·«‚Ŗ–³‚¢“_‚ɂȂ邾‚낤‚ˁB

‚Å‚ąsizeof(‹ó‚Ģ\‘¢‘Ģ)==0‚ÉˆĖ‘¶‚µ‚½ƒ\[ƒX‚Į‚Ăǂń‚Č‚ń‚¾H


337:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/04 16:00:36
>>332
ISO C 6.2.6.1 p2
> Except for bit-fields, objects are composed of contiguous sequences of one or more bytes, ...

C ‚Å‚ąƒTƒCƒY‚Ķ 0 ‚ɂȂē‚Č‚¢‚ęB

338:336
10/04/04 16:14:04
>>337
‚ف[B
‚¶‚į‚ ‚Ž‚µ‚ėEBO‚Ŗ“Į—į‚ŃTƒCƒY‚Ŗ0‚ʂȂčA
‚»‚źˆČŠO‚Ķ•W€C/C++‚ł͕K‚ø1 or more ƒoƒCƒg‚Ķ‚©‚©‚é‚킯‚¾B@

‚ ‚肪‚Ę‚¤B

339:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/05 00:47:17
struct hoge {};
struct hoge fuga[42];
‚Å&fuga[0] < &fuga[1]‚łȂ¢‚ʐFX–ļ‰ī‚¾‚©‚ē‚ˁB

340:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/05 14:34:38
class iface {...};
class impl_a : public iface {...};

impl_a a1, a2, a3(a1); // ok
a1 = a2; // ok

iface &i1 = a1, &i2 = a2; // ok
iface i3, i4(i1); // ng
i1 = i2; // ng

iface‚̐¶¬ƒRƒs[‘ć“ü‚š‹ÖŽ~‚µ‚½‚Ü‚Üimpl_a‚̐¶¬ƒRƒs[‘ć“ü‚š‹–‰Ā‚·‚éAÄ—˜—p«‚Ģ‚ ‚éƒCƒfƒBƒIƒ€‚Ķ‚ ‚č‚Ü‚·‚©H
protected‚Ȑ¶¬ƒRƒs[‘ć“ü‚šiface‚ÉŽ‚½‚¹‚ź‚ĪŽd—l‚Ķ–ž‚½‚·‚̂ł·‚Ŗ‚±‚ź‚ĶÄ—˜—p«‚Ŗ‚Č‚­
boost::noncopyable‚Å‚Ķimpl_a‚ąƒRƒs[‘ć“ü•s‰Ā‚ɂȂĮ‚Ä‚µ‚Ü‚¤‚Ģ‚ÅšŒ‚É‡‚¢‚Ü‚¹‚ń‚Å‚µ‚½


341:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/05 17:54:44
‚©‚ȁAƒ[ƒ}Žš“ü—Ķ•ūŽ®‚Ŗ‚Ē‚æ‚ē‚Ȃ̂©Žę“¾‚µ‚½‚¢‚̂ł·‚Ŗ‚Å‚«‚Ü‚¹‚ńB“Æ‚¶’l‚Ŗķ‚ɏo—Ķ‚³‚ź‚Ü‚·B
‚Ē‚¤‚·‚ź‚Ī‚¢‚¢‚Å‚µ‚傤‚©H


Ų‚č‘Ö‚¦Ž©‘̂͂ł«‚Ă܂·B
2kXPVista7AOSƒfƒtƒHƒ‹ƒg‚©Office•t‘®‚ĢIME
ŒŸŲŽ©‘Ģ‚Ķwindows 7 office2007IME VC++2008Express‚Å‚µ‚Ă܂·B
URLŲŻø(codepad.org)

342:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/05 20:30:55
>>340
¶¬‚·‚ē•s‰Ā‚É‚µ‚½‚¢‚Č‚ēƒCƒ“ƒ^[ƒtƒF[ƒXƒNƒ‰ƒX‚É‚·‚é‚Ę‚©‚©‚ȁH
—Ē‚¢‚Ģ‚ŖŽv‚¢‚Ā‚©‚Č‚¢‚̂ʼnŗ‚Å’T‚µ‚āB
URLŲŻø(ja.wikibooks.org)

343:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/05 23:01:28
ƒRƒs[ƒRƒ“ƒXƒgƒ‰ƒNƒ^‚сƒ“ƒo•ϐ”ƒ|ƒCƒ“ƒ^‚Ģ’†g‚šƒfƒB[ƒvƒRƒs[‚µ‚ꂤ‚ĘŽv‚¤‚̂ł·‚Ŗ
ƒƒ“ƒo•ϐ”ƒ|ƒCƒ“ƒ^‚ĢŒ^‚Ģ‘ć“ü‰‰ŽZŽq‚ÉˆĖ‘¶‚µ‚Č‚¢ƒfƒB[ƒvƒRƒs[‚Ģ•ū–@‚͂Ȃ¢‚Å‚µ‚傤‚©H

344:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/05 23:04:54
Hoge(const Hoge &other) : fuga(new Fuga(*other.fuga))
{
}

345:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/05 23:05:54
>>343
> ƒƒ“ƒo•ϐ”ƒ|ƒCƒ“ƒ^‚ĢŒ^‚Ģ‘ć“ü‰‰ŽZŽq‚ÉˆĖ‘¶‚µ‚Č‚¢ƒfƒB[ƒvƒRƒs[‚Ģ•ū–@‚͂Ȃ¢‚Å‚µ‚傤‚©H
‘f’¼‚É•’Ź‚ÉCopy Constructor‚š‘‚­‚Ę‚»‚¤‚Č‚ē‚Č‚¢H
ƒeƒ“ƒvƒŒ[ƒgˆų”‚šTŒ^‚Ę‚·‚é‚ʁA

// Copy Constructor
MyClass(const MyClass& other)
{
pointer = new T(*other.pointer); // pointer‚͐¶ƒ|ƒCƒ“ƒ^ or ƒXƒ}[ƒgƒ|ƒCƒ“ƒ^Œ^‚Ę‚·‚éB
}
‚¶‚įƒ_ƒ‚Č‚ń‚·‚©H


346:345
10/04/05 23:06:50
‰‰ŽZŽq‚Ģ—Dę‡ˆŹ‚Ŗ•sˆĄ‚ɂȂĮ‚½‚©‚ē­XC³B

// Copy Constructor
MyClass(const MyClass& other)
{
pointer = new T( *( other.pointer ) ); // pointer‚͐¶ƒ|ƒCƒ“ƒ^ or ƒXƒ}[ƒgƒ|ƒCƒ“ƒ^Œ^‚Ę‚·‚éB
}
‚¶‚įƒ_ƒ‚Č‚ń‚·‚©H


347:ƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń
10/04/05 23:37:38
ƒƒ“ƒo•ϐ”ƒ|ƒCƒ“ƒ^‚Į‚Ä A B::*p; ‚Ę‚©‚Ģ‚±‚Ę‚©H
‰˜‚¢‚Æ‚Ē‚±‚ź‚łǂ¤‚ęB

#include <new>

class A { public: A() {} };
class B {
public:
B() : m_a(operator new(sizeof(A))) { }
~B() { operator delete(m_a); }
A* GetA() { return reinterpret_cast<A*>(m_a); }
const A A1;
const A A2;
const A A3;
void Copy(const A B::*p) {
GetA()->~A();
new (GetA()) A(this->*p);
}
private:
void* m_a;
};

int main() {
B b;
b.Copy(&B::A1);
b.Copy(&B::A2);
b.Copy(&B::A3);
}


ŽŸƒy[ƒW
ÅVƒŒƒX•\ަ
ƒXƒŒƒbƒh‚ĢŒŸõ
—ŽŽ—ƒXƒŒˆź——
˜b‘č‚Ģƒjƒ…[ƒX
‚؂܂©‚¹ƒŠƒXƒg
„ƒIƒvƒVƒ‡ƒ“‚š•\ަ
‰É‚‚Ԃµ2ch

4059“ś‘O‚ɍXV/255 KB
’S“–:undef