y‰SŽÒнŒ}zC/C++Ž ..
[2ch|¥Menu]
80:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/03 15:52:22
—áŠO‚ðƒ}ƒNƒ‰»‚·‚é‚̂͗ǂ¢ƒAƒCƒfƒA‚¾‚ȂƂ¨‚à‚Á‚½‚¯‚Ç
•W€—áŠO‚̃Rƒ“ƒXƒgƒ‰ƒNƒ^‚É__LINE__‚Æ__FILE__‚ð“n‚·•û–@‚ðŽv‚¢‚‚©‚È‚­‚ăKƒbƒJƒŠEEE

‚Ç‚¤‚¢‚¤ƒ}ƒNƒ‚É‚·‚ê‚Ηǂ¢‚Å‚µ‚傤‚©H

81:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/03 16:00:32
class out_of_range_with_line_number : public std::out_of_range {
...........
};

82:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/03 16:13:05
s”Ô†‚Æ‚©‚æ‚è‚à
‚ǂ̊֔‚©‚ç/‚ǂ̃f[ƒ^‚ªŒ´ˆö‚œЂ°‚ç‚ꂽ‚Ì‚©A‚Æ‚¢‚Á‚½î•ñ‚ð“ü‚ꂽ‚Ù‚¤‚ª‚¢‚¢‚ñ‚łȂ¢‚©‚¢
out_of_range‚È‚çA‚ǂ̔z—ñ‚©‚çout_of_range‚ªo‚½‚Ì‚©‚É‚æ‚Á‚Ä
‚»‚ꂪ•ª‚©‚邿‚¤‚È—áŠOƒNƒ‰ƒX‚ðì‚Á‚Ärethrow‚·‚邯‚©


83:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/03 16:37:42
‚Â boost::exception

84:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/03 17:48:55
>>81>>83
‚â‚Á‚Ï‚èŒp³‚·‚é‚È‚è‚È‚ñ‚Ȃ肷‚邵‚©‚È‚¢‚©

85:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/03 18:37:02
>>78
ƒfƒXƒgƒ‰ƒNƒ^‚ð private ‚É‚µ‚Ä‚Ý‚é‚Æ‚©B

class Hoge {
private:
@~Hoge() {}
};


86:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/03 18:50:11
‚܂Ƃà‚ÉŽg‚¦‚Ë‚¦‚æ

87:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/03 19:06:09
C++0x‚Ì[[final]]‚àŒp³‹ÖŽ~‚¶‚á‚È‚¢‚µ‚È

88:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/03 19:08:30
iface *create(...) { class local : public iface { ... }; return new local(...); }

§ŒÀ‚Í‚ ‚邯‚Ç‚±‚ê‚Åfinal‚¾‚æ

89:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/03 20:52:17
‹³‚¦‚ĉº‚³‚¢B

¡‚¨ŽdŽ–‚̃fƒoƒbƒO—p‚ÉSDƒJ[ƒh‚̃ZƒNƒ^‚ðFAT‚ł͂Ȃ­
ƒZƒNƒ^’¼ÚƒAƒNƒZƒX‚·‚éƒR[ƒh‚ð¡Žg‚Á‚Ă܂·B

‚»‚̃\ƒtƒg‚Ńhƒ‰ƒCƒu‘I‘ð‚ðGetDriveType()‚ÅƒŠƒ€[ƒoƒuƒ‹ƒfƒBƒXƒN‚݂̂ð
‘I‘ð‚Å‚«‚邿‚¤‚É‚µ‚Ä‚¨‚é‚̂ł·‚ªA‚±‚ê‚ł̓J[ƒhƒŠ[ƒ_[ƒ‰ƒCƒ^[‚É
Žh‚³‚Á‚½ƒfƒBƒXƒN‘S‚Ä‘I‘ð‚Å‚«‚Ä‚µ‚Ü‚¢‚Ü‚·B(—Ⴆ‚ÎCF‚Æ‚©USBƒƒ‚ƒŠ‚Æ‚©)

Ž©•ª‚¾‚¯‚ÅŽg‚¤ê‡‚Í’ˆÓ‚·‚ê‚΂¢‚¢‚¾‚¯‚Ȃ̂ł·‚ªAƒ`[ƒ€‚ÅŽg‚Á‚Ä‚é‚ñ‚Å
‚Å‚«‚ê‚΃hƒ‰ƒCƒu‘I‘ð‚ðSDƒJ[ƒhONLY‚É‚µ‚½‚¢‚ÆŽv‚Á‚Ä‚¢‚é‚̂ł·‚ªA
‚ǂ̂悤‚ȃR[ƒh‚É‚·‚ê‚΂¢‚¢‚Å‚µ‚傤‚©H

ŠÂ‹«
WindowsXP
Microsoft VisualC++ 6.0 MFC

90:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/04 00:22:22
>>71
‚ǂ̕û–@‚É‚à‰½‚̃ƒŠƒbƒg‚àŠ´‚¶‚ç‚ê‚È‚¢B
‚»‚̂܂܂ɂµ‚Æ‚­‚Ì‚ªˆê”ÔƒXƒ}[ƒg‚È‹C‚ª‚·‚éB

>>80
#define OUT_OF_RANGE(what) (std::out_of_range(std::string(__FILE__":"BOOST_PP_STRINGIZE(__LINE__)": ") + (what)))

91:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/04 01:59:50
>>62-63
‚ ‚肪‚Æ‚¤B‚Å‚«‚邾‚¯ª–{“I‚ÉC³‚·‚邿‚¤‚É‚µ‚Ă݂éB
‚‚¢‚Å‚ÉA‚±‚̃R[ƒh‚ɂ‚¢‚Ä‚à‹³‚¦‚Ä‚­‚ê‚È‚¢‚©B

URLØÝ¸(codepad.org)

‚±‚êAŽdŽ–‚ÅŽg‚Á‚Ä‚égcc4.1.1‚Æcodepad(gcc4.1.2)‚ł͌x‚³‚ê‚é‚Ì‚ÉAcygwin‚Ìgcc4.3.2‚¾‚ÆA
-fstrict-aliasing‚Æ-Wstrict-aliasing‚ðŽw’肵‚Ä‚àŒx‚³‚ê‚È‚¢‚ñ‚¾(-Wstrict-aliasing=2‚ð‰Á‚¦‚ê‚ÎŒx‚³‚ê‚é)B
‚±‚̂ւñ‚Ì“®ì‚Á‚Ä4.1.2ˆÈ~‚Å•ÏX‚³‚ê‚Ä‚éH
gcc‚Ìchanges‚ðŒ©‚½‚¯‚ÇAŠÖŒW‚ ‚è‚»‚¤‚Ȃ̂Í4.2‚Ì
The@C++@frontend@now@also@produces@strict@aliasing@warnings@when@-fstrict-aliasing@-Wstrict-aliasing@is@in@effect.
‚­‚ç‚¢‚µ‚©Œ©‚‚¯‚ç‚ê‚ñ‚©‚Á‚½B

92:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/04 05:32:31
>>91
‚Ç‚¤‚µ‚Ä‚»‚ñ‚Èáï‚Å‚à–³‚¢ƒR[ƒh‚΂©‚è‘‚­‚ñ‚¾…

GCC‚Ìchangelog‚É‘‚¢‚Ä‚ ‚é‚̂͑傫‚È‚à‚Ì‚¾‚¯‚¾‚©‚ç
’m‚ç‚È‚¢‚¤‚¿‚É“à•”‚Ì“®ì‚ª­X•Ï‚í‚邱‚Ƃ͂ ‚肤‚邿

–³ˆó‚Ì-Wstrict-aliasing‚ÅŒx‚ª‚łȂ¢‚Ì‚ª³‚µ‚¢‚©‚͂킩‚ç‚ñ
‚»‚±‚ç‚Ö‚ñ‚̉ÁŒ¸‚Ígcc‚Ì’†‚Ìl‚É‚µ‚©‚í‚©‚ç‚ñ‚¾‚낤‚©‚ç…

93:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/04 09:36:50
#include <iostream>
#include <fstream>

#pragma pack(push, 1)

struct POD
{
int a, b;
char str[5];
int x, y, z;
};

#pragma pack(pop)

void test(POD &pod)
{
std::cout << "a: " << pod.a << std::endl;
std::cout << "b: " << pod.b << std::endl;
std::cout << "str: " << pod.str << std::endl;
std::cout << "x: " << pod.x << std::endl;
std::cout << "y: " << pod.y << std::endl;
std::cout << "z: " << pod.z << std::endl;
}

94:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/04 09:37:33
void save(POD &pod)
{
std::ofstream out("test.bin", std::ios::binary);
out.write((char*)&pod, sizeof(POD));
}

void load(POD &pod)
{
std::ifstream in("test.bin", std::ios::binary);
POD tmp;
in.read((char*)&tmp, sizeof(POD));
pod = tmp;
}

95:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/04 09:39:19
int main(void)
{
POD pod1 = {1, 2, "test", 3, 4, 5};
test(pod1);
save(pod1);

POD pod2 = {0};
load(pod2);
test(pod2);

return 0;
}

ã‹L‚̃R[ƒh‚ÍŽ©•ª‚̃}ƒVƒ“‚¾‚ÆŠú‘Ò’Ê‚è‚É“®‚¢‚Ă邿‚¤‚È‚ñ‚Å‚·‚ª
‚Ù‚©‚̃}ƒVƒ“‚ɈÚA‚µ‚Ä‚à‘åä•v‚Å‚µ‚傤‚©H

96:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/04 09:44:54
int‚ÌŠï””Ô’nƒAƒNƒZƒX‚É–â‘è‚È‚¢CPU‚¾‚Á‚½‚çA‘åä•v‚©‚à

97:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/04 10:01:24
>>96
ƒŒƒX‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·
”O‚Ì‚½‚ßpack(push, 4)‚É‚µ‚Ă݂܂·

98:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/04 10:07:15
ˆÚA«l‚¦‚é‚È‚ç
stdint.h‚ð“ǂݞ‚ñ‚Å
int
‚ð
int32_t
‚Æ‚©‚É

99:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/04 12:44:50
>>98
ƒŒƒX‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·
ƒoƒCƒg”‚à‘µ‚¦‚Ă݂܂·
vc++‚Éstdint‚ª–³‚¢‚Ì‚ª¢‚è‚à‚̂ł·‚ªvs2010‚ɂ͂ ‚邿‚¤‚Ȃ̂ÅEEE

100:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/04 13:21:04
>>92
>‚Ç‚¤‚µ‚Ä‚»‚ñ‚Èáï‚Å‚à–³‚¢ƒR[ƒh‚΂©‚è‘‚­‚ñ‚¾c@
‚²‚ß‚ñw
ŽÀ‚Í>>91‚ÍAŽÐ“ໃR[ƒh‚ÅLoadFileAsync(const@char*@filename,@void**@buffer)‚Á‚Ä‚¢‚¤‚Ì‚ª‚ ‚é‚ñ‚¾‚¯‚ÇA
‚±‚ꂪgcc4.1.1‚É‚µ‚½‚çŒx‚ªo‚½‚Ì‚ÅA’²¸—p‚É‘‚¢‚½‚ñ‚¾‚íB
“®ì‚ÍAfilename‚ð”ñ“¯Šú‚ɃfƒBƒXƒN‚©‚ç“Ç‚Ýo‚µ‚ÄA“Ç‚Ýo‚µ‚½ƒƒ‚ƒŠ—̈æ‚̃AƒhƒŒƒX‚ðbuffer‚ɕԂ·B
”ñ“¯Šúƒ[ƒh—pƒNƒ‰ƒX‚Å‚àì‚Á‚ÄAvoid**‚ð’u‚«Š·‚¦‚ê‚΂¢‚¢‚ñ‚¾‚낤‚ªA
Šù‚É‚ ‚¿‚±‚¿‚ŌĂ΂ê‚Ä‚éŠÖ”‚¾‚©‚çŽè‚ðo‚µ‚Â炢‚ñ‚¾‚æ‚ËB

101:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/04 16:21:27
>>99
URLØÝ¸(www.kijineko.co.jp)
‚±‚¤‚¢‚¤‚Ì‚ª‚ ‚邿

102:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/04 23:42:27
>>100
‚»‚ê‚Å‚à‚»‚Ì‹­ˆø‚ȃLƒƒƒXƒg‚Í—v‚ç‚ñ‚̂łÍH

A a;
void* p;
f(&p);
a.str = static_cast<char*>(p);

‚à‚µ‚©‚µ‚ăƒ‚ƒŠ—̈æ‚ÌŠm•Û‚à”ñ“¯Šú‚È‚ÌH

103:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/05 01:25:07
ƒwƒbƒ_ƒtƒ@ƒCƒ‹‚Ì’†‚Å#include‚̑ւí‚è‚É,class‚ªŽg‚í‚ê‚Ä‚¢‚鎞‚ª‚ ‚è‚Ü‚·
#include‚ðclass‚É‚·‚邯A‰½‚©‚¢‚¢Ž–‚ª‚ ‚é‚̂łµ‚傤‚©H

‚Ü‚½AQWidget‚Í#include‚àclass‚à‘‚©‚ê‚Ä‚¢‚Ü‚¹‚ñ‚ª
‚È‚ºAŽg‚¤Ž–‚ª‚Å‚«‚é‚̂łµ‚傤‚©H
URLØÝ¸(calmlight.s2.zmx.jp)

104:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/05 01:34:59
u#include‚̑ւí‚è‚É,class‚ªŽg‚í‚ê‚Ä‚¢‚év‚킯‚¶‚á‚È‚¢
‘O•û錾‚ŃOƒO‚ê
‚Æ‚¢‚¤‚©C/C++‚Ì#include‚ÍJava‚ÌimportAC#‚Ìusing‚Ƃ͈Ⴄ‚¼

105:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/05 06:58:32
>>103
‚à‚¤CŒ¾Œê‚âC++‚̃vƒŠƒvƒƒZƒbƒT‚Á‚Ä‚¢‚¤•׋­‚ð‚µ‚½•û‚ª‚¢‚¢‚ñ‚¶‚á‚È‚¢‚©H

106:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/05 09:24:40
Œp³Œ³ƒNƒ‰ƒX‚ðˆø”‚Ŏ󂯂½Žž‚ÉA‚»‚Ìprotectedƒƒ“ƒo‚ɃAƒNƒZƒX‚Å‚«‚È‚¢‚Ì‚Í
‚Ç‚¤‚¢‚¤——R‚Å‚»‚¤‚È‚Á‚Ä‚¢‚é‚̂łµ‚傤‚©H

class A {
protected:
@int x;
};

class B : public A {
public:
@void operator=(const A& a) {
@@x = a.x; //a.x‚Íprotected‚Å‘€ì‚Å‚«‚È‚¢
@};
};

107:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/05 09:30:31
>>106
•ʂ̃Nƒ‰ƒX class C : public A i—ªj‚ȂǂªA B ‚Ƃ͈Ⴄ“s‡‚Å‚»‚¢‚‚ðŽg‚Á‚Ä‚¢‚é
‚©‚à‚µ‚ê‚È‚¢‚©‚çB

‚ß‚ñ‚Ç‚­‚³‚¢‚©‚ç protected ‚È‚ñ‚Äʼn‚©‚çŽg‚í‚È‚¯‚è‚á‚¢‚¢‚ñ‚¾‚æB
private or public ‚Å‚¢‚¯‚È‚¢‚Ì‚©A‚æ‚­l‚¦‚½‚Ù‚¤‚ª‚¢‚¢B

108:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/05 09:45:32
>>107
“K“–‚È‚±‚Æ‚¢‚¤‚È

>>106
Ž©•ª‚ªA‚ðpublic‚ÉŒp³‚µ‚ăAƒNƒZƒX‰Â”\‚ɂȂé‚Ì‚Í
this->a‚Å‚ ‚Á‚Ä
ˆø”‚Æ‚µ‚ÄA‚ðŽó‚¯‚½Žž‚ÍŠO•”‚©‚ç‚̃AƒNƒZƒX‚ɂȂé
‚‚܂èA‚Ìpublic‚ȃƒ“ƒo‚É‚µ‚©ƒAƒNƒZƒX‚Å‚«‚È‚¢
(Ž©•ª‚ªA‚ðŒp³‚µ‚Ă邩‚È‚ñ‚Ä‘S‚­ŠÖŒW‚È‚¢)

ã‚̃P[ƒX‚Å‚â‚낤‚Æ‚µ‚Ä‚é‚̂͂±‚ê‚Æ•Ï‚í‚ç‚È‚¢
void f(const A& a){
int a=a.x;
}

protected‚ȃƒ“ƒo‚Í
u‚±‚Ì‹@”\‚ÍŒp³‚µ‚Ä‚©‚çŽg‚¦‚ÈvA‚Á‚Ä‚¢‚¤ˆÓŽv•\ަ‚Ȃ̂É
Œp³‘O‚ÌA‚̃f[ƒ^‚ɃAƒNƒZƒX‚Å‚«‚½‚炨‚©‚µ‚¢‚Å‚µ‚å

109:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/05 10:04:23
‚¾‚Á‚½‚çŠO‚©‚çƒAƒNƒZƒX‚µ‚Ä‚é‚̂ɓ¯‚¶ƒNƒ‰ƒX‚Ìprivate‚ɃAƒNƒZƒXo—ˆ‚é‚̂͂¨‚©‚µ‚¢‚Í‚¸

110:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/05 10:05:47
>>108
‚ ‚ñ‚½‚Ì‚»‚ê‚͉½‚©ª‹’‚ª‚ ‚é‚Ì‚©‚ËH

> Ž©•ª‚ªA‚ðpublic‚ÉŒp³‚µ‚ăAƒNƒZƒX‰Â”\‚ɂȂé‚Ì‚Í
> this->a‚Å‚ ‚Á‚Ä
> ˆø”‚Æ‚µ‚ÄA‚ðŽó‚¯‚½Žž‚ÍŠO•”‚©‚ç‚̃AƒNƒZƒX‚ɂȂé

protected ‚ª‚»‚¤‚È‚Á‚Ä‚éi private ‚ƈႤj——R‚ð•·‚©‚ê‚Ä‚é‚ñ‚¾‚æB

‚¿‚Ȃ݂ÉA A ‚ÌŒp³‚ª public ‚Å‚ ‚é‚©‚Ç‚¤‚©‚ÍŠÖŒW‚È‚¢‚µA
this->a ˆÈŠO‚É‚à B& b ‚Æ‚¢‚¤ˆø”‚ɑ΂µ‚ĂȂç b.a ‚ŃAƒNƒZƒX‚Å‚«‚éB

> protected‚ȃƒ“ƒo‚Í
> u‚±‚Ì‹@”\‚ÍŒp³‚µ‚Ä‚©‚çŽg‚¦‚ÈvA‚Á‚Ä‚¢‚¤ˆÓŽv•\ަ‚Ȃ̂É
> Œp³‘O‚ÌA‚̃f[ƒ^‚ɃAƒNƒZƒX‚Å‚«‚½‚炨‚©‚µ‚¢‚Å‚µ‚å

‚»‚Ìà–¾‚¾‚ÆA•ʂ̔h¶ƒNƒ‰ƒX C ‚Ì C& c ‚ɂ‚¢‚Ä B ‚̃ƒ“ƒoŠÖ”“à‚Å
c.a ‚ɃAƒNƒZƒX‚Å‚«‚È‚¢——R‚Ìà–¾‚ɂȂç‚È‚¢‚ËB

111:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/05 10:17:53
>>100
>>92‚É’Ç‹L‚µ‚Ä‚¨‚­‚¯‚Ç
-Wstrict-aliasing‚Í‘S‚Ă̖â‘肪‚ ‚éƒP[ƒX‚ðŒx‚·‚邯‚ÍŒÀ‚ç‚È‚¢
-Wstrict-aliasing‚Í-Wstrict-aliasing=3‚Æ“¯‚¶‚Å
-Wstrict-aliasing=1‚ªÅ‚àu­‚µ‚Å‚à‰ö‚µ‚¯‚ê‚ÎŒx‚É‚·‚év‚¯‚Ç
‚»‚ê‚Å‚àit has very few false negatives‚Æ‚µ‚©Œ¾‚í‚ê‚ĂȂ¢
URLØÝ¸(gcc.gnu.org)

»•i‚Æ‚µ‚Ägcc‚ÌÅ“K‰»‚É‚æ‚éƒoƒO‚ðâ‘Ήñ”ð‚µ‚½‚¢‚È‚ç
-fno-strict-aliasing‚É‚µ‚Ä‚±‚ÌŽí‚ÌÅ“K‰»‚𖳌ø‚É‚·‚邵‚©‚È‚¢

112:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/05 10:23:47
>>111
> -Wstrict-aliasing=1‚ªÅ‚àu­‚µ‚Å‚à‰ö‚µ‚¯‚ê‚ÎŒx‚É‚·‚év‚¯‚Ç
> ‚»‚ê‚Å‚àit has very few false negatives‚Æ‚µ‚©Œ¾‚í‚ê‚ĂȂ¢

‚»‚êA "when higher levels do not ... , as it has very few false negatives" ‚Ì
‚Æ‚±‚ë‚ÅA 1 ‚æ‚èã‚̃Œƒxƒ‹‚ɂ‚¢‚ÄŒ¾‚Á‚Ă邯‚±‚낾‚æBƒŒƒxƒ‹ 1 ‚ɂ‚¢‚Ä‚Í
"it has many false positives" ‚Á‚ĂȂÁ‚Ä‚éB

113:112
10/02/05 10:28:46
‚ñH‚²‚ß‚ñA“ǂ݈Ⴆ‚½B

Level 1 ‚¾‚Æ false negative ‚ª­‚È‚­‚Äi‚Å‚àƒ[ƒ‚¶‚á‚È‚­‚ÄjA‚©‚í‚è‚É false positive ‚Í‘½‚¢‚Á‚Ä‚±‚Æ‚©B

112 ‚Í–Y‚ê‚ÄB

114:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/05 15:57:26
ifstream ‚Æ@Win32 ReadFile ‚̃ƒŠƒbƒg‚ƃfƒƒŠƒbƒg‚ð‹³‚¦‚Ä‚­‚¾‚³‚¢

ReadFile‚ÍwindowsˆË‘¶‚µ‚Ä‚¢‚邱‚Ƃ͒m‚Á‚Ă܂·Aifstream‚Ì“à•”‚Å‚ÍReadFile‚ðŽg‚Á‚Ä‚¢‚éiHj‚Æ‚©‚Ç‚Á‚Ăł݂½‹C‚ª‚·‚é
‘¬“x‚ð”äŠr‚µ‚Ă݂½‚çifstream‚Ì•û‚ª‚͂₩‚Á‚½‚Å‚·

115:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/05 16:02:59
1ƒoƒCƒg‚¸‚ÂReadFile‚ðŒÄ‚Ño‚µ‚½‚肵‚Ä‚¢‚È‚¢‚©H
ifstream“™‚Í“à•”‚Ƀoƒbƒtƒ@‚ðŽ‚Á‚Ĉê“x‚̌ĂÑo‚µ‚Å‘½‚­‚̃f[ƒ^‚ð“ǂݞ‚ނ悤‚É‚µ‚ÄAPI‚̌ĂÑo‚µ‰ñ”‚ð—}‚¦‚Ä‚¢‚é‚Í‚¸

116:114
10/02/05 16:10:02
ReadFileˆø”‚̃uƒbƒtƒ@Žw’è‚̂Ƃ±‚ë‚Ńtƒ@ƒCƒ‹ƒTƒCƒY“n‚µ‚Ä‚¢‚é‚Ì‚Å1ƒoƒCƒg‚¸‚‚ł͂Ȃ¢‚Í‚¸

117:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/05 16:45:56
•’ʂ̃tƒ@ƒCƒ‹‚ð•’ʂɓǂނÆOS‚ÍŸŽè‚ɃfƒBƒXƒNƒLƒƒƒbƒVƒ…‚·‚邿

118:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/05 17:24:52
‚»‚ꂾ‚ÆReadFile‚ª’x‚¢——R‚ɂȂç‚ñ‚̂łÍ

119:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/05 17:28:37
‚¢‚«‚È‚èƒtƒ@ƒCƒ‹‘S‘̃LƒƒƒbƒVƒ…‚·‚é‚킯‚¶‚á‚È‚¢‚©‚ç

120:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/05 18:04:54
ƒfƒBƒXƒNƒAƒNƒZƒX‚̃RƒXƒg‚ÍOS‚̃fƒBƒXƒNƒLƒƒƒbƒVƒ…‚ʼnB•Á‚Å‚«‚Ä‚à
ƒVƒXƒeƒ€ƒR[ƒ‹(ƒJ[ƒlƒ‹‚Ƃ̃‚[ƒh‘JˆÚ)‚̃RƒXƒg‚͉B•Á‚Å‚«‚Ü‚¹‚ñB
ReadFile‚ð‰½“x‚à‰½“x‚àŒÄ‚Ño‚µ‚Ä‚¢‚éŒÀ‚èB

121:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/05 19:48:25
ifstream‚ª‘¬‚¢——R‚ɂȂç‚ñ‚¼

122:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/05 20:15:36
ƒiƒjŒ¾‚Á‚Ä‚ñ‚¾ƒIƒ}ƒG‚Í

123:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/05 20:16:50
‚¿‚Ȃ݂É
stdio‚Æ”äŠr‚µ‚Äifstream‚Í‘S‘R‘¬‚­‚È‚¢B

124:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/05 20:23:02
”äŠr‚µ‚¿‚Ⴞ‚ß‚¾‚ë

iostream‚Ì—Ç‚¢Š‚͕ʂɂ ‚é‚ñ‚¾‚©‚çB
‰½‚©‚Æ‚¢‚¤‚Æ‚»‚ê‚ÍŽŸ‚Ìl‚Ç‚¤‚¼
«««


125:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/05 20:39:29
Œp³‚É‚æ‚Á‚Äì‚ç‚ê‚Ä‚¢‚銂ł·

‚‚܂è“ü—ÍŒ³‚âo—Íæ‚¾‚¯‚ł͂Ȃ­stringstream‚̂悤‚É
ª–{“I‚È\‘¢‚ªˆÙ‚È‚Á‚Ä‚à‘S‚­“¯‚¶ƒCƒ[ƒW‚Å‘€ì‚Å‚«‚鎖‚Å‚·

‚Æ‚Å‚àŒ¾‚Á‚Ä—~‚µ‚¢‚Ì‚©H

126:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/05 21:52:34
>>114 ‚Ç‚ñ‚ȃR[ƒh‚Å”äŠr‚µ‚½‚Ì‚©‚í‚©‚邿‚¤‚ɃR[ƒh‚ðŽN‚³‚È‚¢‚Æ“š‚¦‚ç‚ê‚È‚¢‚ÈB


127:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/05 22:16:09
>>114
ReadFile‚ÌŽg‚¢•û‚ðŠÔˆá‚Á‚Ä‚é‚ñ‚¶‚á‚È‚¢‚©H
ifstream‚ð‘‚¢‚½l‚ÍReadFile‚ÌŽg‚¢•û‚ð‚æ‚­’m‚Á‚Ä‚é‚ñ‚¾‚ÆŽv‚¤‚æB

128:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/05 23:44:41
ƒƒbƒZ[ƒbƒW‚ɂ‚¢‚Ä‹³‚¦‚Ä‚­‚ê
WM_NOTIFY‚ÆON_NOTIFY_REFLECT‚ÌŠÖŒW‚ª‚í‚©‚ç‚È‚¢

’²‚ׂ½‚Æ‚±‚ëWM_NOTIFY‚̃ƒbƒZ[ƒW‚ª‘¡‚ç‚ê‚邯‚邯ON__NOTIFY_REFLECT‚ªŒÄ‚Ño‚³‚ê‚êƒE
‚Ý‚½‚­‘‚¢‚Ä‚ ‚Á‚½‚¯‚Ç
‚¶‚á‚ ON_NOTIFY_REFLECT‚ª‚à‚Á‚Ä‚é’Ê’mƒƒbƒZ[ƒW‚͉½‚æH

‚í‚©‚è‚â‚·‚­‚¨‚µ‚¦‚Ä‚Ë

129:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/05 23:49:40
>>128
‚ÍH
“ª‚¨‚©‚µ‚¢‚ÌH

130:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/05 23:50:12
>>128
Win32APIŽ¿–â”  Build86
½ÚØÝ¸(tech”Â)

131:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/05 23:52:04
‚Ç‚Á‚¿‚©‚Æ‚¢‚¤‚ÆMFC‚̂ق¤‚¾‚È

132:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/06 02:27:22
PaintDC‚Ì•`‰æ—̈æ‚̃NƒŠƒA•û–@‹³‚¦‚Ä

133:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/06 10:22:50
InvalidateRect‚à‚µ‚­‚ÍValidateRect‚Ì‚±‚Æ‚©
‚»‚ê‚Æ‚àFillRect‚Ì‚±‚Æ‚¾‚낤‚©

134:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/06 13:22:55
template< int Foo >
class CHoge
{
public:
@@CHoge(int ini) : m_hoge(ini){}
@@int m_hoge;
@@char m_foo[Foo];

@@static const CHoge<Foo> sc_Zero;
};
//const CHoge<Foo> CHoge<Foo >::sc_Zero = CHoge<Foo>(0); // Foo : ’è‹`‚³‚ê‚Ä‚¢‚È‚¢Ž¯•ÊŽq‚Å‚·B

@sc_Zero ‚ð‰Šú‰»‚µ‚½‚¢‚ñ‚¾‚¯‚ÇC‚ǂ̂悤‚É‚·‚ê‚΂¢‚¢‚Å‚µ‚傤‚©H

135:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/06 13:38:26
Foo‚Ì’l‚ÍŒˆ‚Ü‚é•K—v‚ª‚ ‚é‚ñ‚¶‚á‚ËH

template< int Foo >
class CHoge
{
public:
CHoge(int ini) : m_hoge(ini){}
int m_hoge;
char m_foo[Foo];
static const CHoge<Foo> sc_Zero;
};

CHoge<1> h(10);
const CHoge<1> CHoge<1>::sc_Zero(h);


136:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/06 13:41:57
template < int Foo >
const CHoge<Foo> CHoge<Foo >::sc_Zero = CHoge<Foo>(0);

137:134
10/02/06 13:51:57

>>135-136
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·D‰Šú‰»o—ˆ‚Ü‚µ‚½D

138:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/06 17:31:35
‘O•û錾‚ð‚·‚é‚Æ•’Ê‚É#include‚·‚邿‚è‚àAƒRƒ“ƒpƒCƒ‹‚ª‘¬‚­‚È‚è‚Ü‚·‚©H

139:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/06 17:33:57
‘O•û錾‚̓Rƒ“ƒpƒCƒ‹ˆË‘¶«‚ðŒ¸‚ç‚µ‚½‚è‚·‚邽‚ß‚É
‚ ‚邯Žv‚¤‚ñ‚¾‚¯‚Ç

140:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/06 17:39:20
>>138
ƒRƒ“ƒpƒCƒ‹‚ª‘¬‚­‚È‚é‚Á‚Ä‚¢‚¤‚æ‚è‚àAƒRƒ“ƒpƒCƒ‹‚µ‚È‚¨‚³‚È‚¯‚ê‚΂¢‚¯‚È‚­‚È‚éƒtƒ@ƒCƒ‹‚ª
Œ¸‚é‚Á‚Ä‚¢‚¤‚Ì‚ª³‚µ‚¢‚©‚ÆB

141:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/06 18:05:26
‘O•û錾‚ª•K—v‚ȃpƒ^[ƒ“

class B;

class A {
B b;
};

class B {
A *a;
};

‚ ‚Æ‚ÍpimplƒCƒfƒBƒIƒ€‚Å­‚µŽ—‚½Žg‚¢•û‚µ‚½‚èB

142:138
10/02/06 18:06:41
>>140
‚â‚Á‚Ï‚èA‚»‚¤‚¾‚æ‚Ë
thx

143:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/06 22:06:12
new‚Æmalloc‚ÍŽ—‚½‚悤‚È“®ì‚ð‚µ‚Ü‚·‚ªA
ƒoƒbƒNƒOƒ‰ƒEƒ“ƒh‚Å‚Ínew‚ªmalloc‚ðŒÄ‚Ño‚µ‚Ä‚¢‚é‚̂ł·‚©H

144:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/06 22:09:27
>>143
‚»‚¤‚¢‚¤ŽÀ‘•‚à‘½‚¢‚¯‚Ç‚àA‚»‚¤‚Ƃ͌À‚ç‚È‚¢B
‚»‚ꂪ–â‘è‚É‚È‚é‚æ‚¤‚ȃvƒƒOƒ‰ƒ€‚ð‘‚­‚ׂ«‚ł͂Ȃ¢‚µA‘‚­•K—v‚à–³‚¢B

145:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/06 22:48:57
WinAP‚h‚ðŽg‚킸‚Ƀ}ƒEƒX‚ðƒvƒƒOƒ‰ƒ€‘¤‚©‚瑀삷‚é‚ɂ͂ǂ¤‚µ‚½‚ç‚æ‚¢‚Å‚µ‚傤‚©H

146:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/06 22:50:12
‚»‚¤‚¢‚¤ƒ‰ƒCƒuƒ‰ƒŠ‚ð’T‚·B

147:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/06 22:57:22
>>145
‚»‚ê‚Í•s‰Â”\‚¾‚낤B

ƒ‰ƒbƒpƒ‰ƒCƒuƒ‰ƒŠ‚ª‚ ‚ê‚Ή”\‚¾‚낤‚ªA
‚»‚̃‰ƒbƒp‚à‚â‚Í‚èWinAPI‚ÍŽg‚Á‚Ä‚¢‚邾‚낤‚ÈB

148:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/06 23:43:39
VS2005A‚b/‚b++‚ŃRƒ“ƒgƒ[ƒ‰iJoystickj‚Ìó‘Ô‚ðŽæ“¾‚·‚é‚ɂ͂ǂ¤‚·‚ê‚Ηǂ¢‚̂łµ‚傤‚©H
’²‚×‚Ä‚à’†Xo‚Ä‚±‚È‚¢‚Ý‚½‚¢‚Ȃ̂ÅB•‚¯‚Ä‚­‚¾‚³‚¢B
ƒvƒƒWƒFƒNƒgÝ’è‚ÍWin32ƒRƒ“ƒ\[ƒ‹ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Å‚·B
‚Ђǂ¢‚­‚ç‚¢‰SŽÒ‚Å‚·‚ªA‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·B

149:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/06 23:53:46
GetJoystickState

150:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 00:13:35
>>148
Windows API‚©ADirectX‚ÌDirectInput‚ðŽg‚¤

Joystick Reference (Windows)
URLØÝ¸(msdn.microsoft.com)(VS.85).aspx

DirectInput
URLØÝ¸(msdn.microsoft.com)(VS.85).aspx
URLØÝ¸(msdn.microsoft.com)(VS.85).aspx

151:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 00:30:49
DirectInput‚ÍŽg‚Á‚Ä‚¢‚Ü‚·B

printf("%d\r\n",js.lX);
‚ňꉞA‰Šú’l‚Ì@-8@‚ƃvƒŠƒ“ƒg‚³‚ê‚Ä‚¢‚é‚̂ł·‚ªA
“®‚©‚µ‚Ä‚à•Ï“®‚ª‚ ‚è‚Ü‚¹‚ñB‚Ç‚¤‚à“|‚µ‚È‚ª‚çƒL[ƒ{[ƒh‚ð“ü—Í‚·‚邯”’l‚ª•Ï“®‚·‚邿‚¤‚Å‚·B

Œ»Ý‚̓L[ƒ{[ƒh“ü—͂œü—Í‚µ‚½‚Æ‚«‚¾‚¯OpenGL‚ªÄ•`‰æ‚³‚ê‚é‚̂ł·‚ª
‚±‚ê‚ðJoystick‚ð“|‚µ‚½Žž‚ÉÄ•`‰æ‚³‚ê‚邿‚¤‚É‚·‚é‚ɂ͂ǂ¤‚·‚ê‚΂悢‚̂łµ‚傤‚©H

switch (key) {

case 'd':
{
Point NextPos( PosX+0.2, PosY );
if( !ColCheck( NextPos ) )PosX +=0.2;
glutPostRedisplay();
}
ƒ\[ƒX‚Í‚±‚ñ‚ÈŠ´‚¶‚ɂȂÁ‚Ä‚¢‚Ü‚·BƒL[ƒ{[ƒh“ü—ÍŽž‚݂̂ÌÄ•`‰æ‚ł͂Ȃ­Aí‚ÉH•`‰æ‚·‚é‚ɂ͂ǂ¤‚·‚ê‚΂悢‚̂ł·‚©H
‰SŽÒ‚Å‚·‚݂܂¹‚ñB‘‚«ž‚ñ‚Å‚¢‚ĉ½‚ðŒ¾‚Á‚Ä‚é‚Ì‚©‚í‚©‚ç‚È‚­‚È‚Á‚Ä‚«‚Ü‚µ‚½B

152:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 00:45:10
OpenGLƒXƒŒ‚Å•·‚¢‚Ă݂ê‚ÎH

153:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 00:50:10
‚Í‚¢A‚»‚¤‚µ‚Ă݂܂·B‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B

154:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 02:47:37
void *Œ^‚©‚牽‚©‚ÌŒ^‚ւ̃|ƒCƒ“ƒ^‚ÖƒLƒƒƒXƒg‚·‚鎞‚É‚»‚ꂪ—LŒø‚©’²‚ׂ邢‚¢•û–@‚Í‚ ‚è‚Ü‚·H
¡‚̂Ƃ±‚ëƒnƒbƒVƒ…‚ɃAƒhƒŒƒX‚Ætype_info‚̃yƒA•Û‘¶‚µ‚Ä‚¨‚­‚Æ‚¢‚¤”÷–­‚È•û–@‚µ‚©Žv‚¢‚‚«‚Ü‚¹‚ñ

155:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 07:03:04
>154
dynamic_cast ‚©‚ÈB
‚Å‚à‚Ç‚Á‚¿‚©‚Á‚Ä‚¢‚¤‚ÆŒ^”»•Ê‚µ‚È‚«‚á‚¢‚¯‚È‚¢‚±‚ÆŽ©‘Ì‚ª‚Ç‚Á‚©‚¨‚©‚µ‚¢‚悤‚È‹C‚ª‚·‚éB

156:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 07:19:04
void * ‚Édynamic_cast‚Í–³—

157:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 08:14:09
C++‚É‚ÍƒŠƒtƒŒƒNƒVƒ‡ƒ“‚ª‚È‚¢‚©‚ç–³—‚¾‚ë

158:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 10:01:05
>>154
shared_ptr ‚ª‚ ‚邿

159:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 11:15:33
struct hoge {
int bar1;
char *buf;
int bar2;
};

‚±‚ñ‚È\‘¢‘Ì‚Ìbuf‚É•¶Žš—ñ“ü‚ê‚é‚È‚èmalloc‚·‚é‚Ȃ肷‚邯ƒƒ‚ƒŠ“I‚ɂ͂ǂ¤‚È‚é‚ÌH
bar2‚ª‚»‚Ì•ªŒã‚ë‚É‚¸‚ꂽ‚è‚·‚é‚ÌH

160:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 11:22:14
template<size_t T_size>struct hoge {
int bar1;
char buf[T_size];
int bar2;
};

161:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 11:22:50
>>155
void*‚È‚ñ‚©Žg‚í‚È‚¢‚Ù‚¤‚ª‚¢‚¢‚ÆŒ¾‚¦‚΂»‚̂Ƃ¨‚è‚È‚ñ‚Å‚·‚ª
ƒXƒNƒŠƒvƒg‚ÆŠg’£Œ^‚̃|ƒCƒ“ƒ^‚ð‚â‚èŽæ‚è‚·‚é‚̂Ɉê‰ñvoid*‚ɕϊ·‚³‚ê‚ÄŒ^î•ñ‚ª‚È‚­‚È‚Á‚Ä‚µ‚Ü‚¤‚̂ł·
ƒXƒNƒŠƒvƒg‘¤‚ŕςȂ±‚Æ‚µ‚È‚¯‚ê‚Ζâ‘è‚͂Ȃ¢‚ñ‚Å‚·‚ªAŠÔˆá‚¦‚邯ƒGƒ‰[‚ào‚¹‚¸‚É—Ž‚¿‚Ä‚µ‚Ü‚¤‚̂łǂ¤‚É‚©‚Å‚«‚È‚¢‚©‚ÈA‚Æ

>>156,157
‚â‚Á‚ς薳—EEE‚Å‚µ‚傤‚©

>>158
‚·‚¢‚Ü‚¹‚ñ
Ú‚µ‚­‚¨Šè‚¢‚Å‚«‚Ü‚·‚©H

162:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 11:45:30
void*‚̃|ƒCƒ“ƒ^æ‚ðƒf[ƒ^‚̶ƒ|ƒCƒ“ƒ^‚ł͂Ȃ­A

struct ptr_holder {
void *ptr;
type_info ty;
};

‚̃|ƒCƒ“ƒ^‚Æ‚©‚ɂ͂ł«‚È‚¢‚ÌH

163:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 11:54:49
>>161
void*‚ð‰½‚©‚̃Nƒ‰ƒX‚ɕϊ·‚·‚é‚̂̓vƒƒOƒ‰ƒ}‚ÌÓ”C‚ɂȂé‚ñ‚¾‚ËB
•ÏŠ·•û–@‚̓vƒƒOƒ‰ƒ}‚©‚猈‚߂Ȃ¢‚Æ‚¢‚¯‚È‚¢‚¯‚ÇA‚PŽí—ނ̃Nƒ‰ƒX‚µ‚©ˆµ‚¦‚È‚¢‚Ì‚ªŽÀîB
‚»‚±‚ÅA•¡”‚̃Nƒ‰ƒX‚ðˆµ‚¤‚É‚ÍA>>162‚̂悤‚É‚PŽí—ނ̃Nƒ‰ƒX‚ð‹²‚ñ‚ŃNƒ‰ƒX‚ðŽ¯•Ê‚Å‚«‚邿‚¤‚É‚µ‚ĕϊ·‚·‚éB
‚»‚ê‚ð‚â‚Á‚Ä‚¢‚é‚Ì‚ª>>158‚Ì•û–@Bshared_ptr<void>‚ւ̃|ƒCƒ“ƒ^shared_ptr<void>*‚ðvoid*‚Æ‚µ‚Ä“n‚µAshared_ptr<void>*‚É–ß‚·B‚»‚ÌŒãAshared_polymorphic_cast<Hoge>(*Ptr);‚ŕϊ·BŒ^‚ªˆá‚¦‚ΗáŠO‚ª“Š‚°‚ç‚ê‚éB

164:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 11:56:54
>>159
‚¸‚ê‚È‚¢
@@@@@@@@@@@@@@@@+------+
0x11111100@|@bar1@@@|
@@@@@@@@@@@@@@@@@|------|
0x11111104@|@buf@@@@@|@--->@NULL
@@@@@@@@@@@@@@@@@|------|
0x11111108@|@bar2@@@|
@@@@@@@@@@@@@@@@+------+
ª‚±‚ñ‚ÈŠ´‚¶‚Ì‚ª@«‚±‚ñ‚ÈŠ´‚¶‚ɂȂ邾‚¯
@@@@@@@@@@@@@@@@+------+
0x11111100@|@bar1@@@|
@@@@@@@@@@@@@@@@@|------|
0x11111104@|@buf@@@@@|@----+
@@@@@@@@@@@@@@@@@|------|@@@@@@@@|
0x11111108@|@bar2@@@|@@@@@@@@|
@@@@@@@@@@@@@@@@+------+@@@@@@@@|
@@@@@@@@@@@@@@@@@+------+@@@@@@@|
0x22222200@|@•¶Žš—ñ@|@@<--+
@@@@@@@@@@@@@@@@@+------+

165:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 12:13:53
>>163
shared_ptr‚Ì‚»‚ÌŽg‚¢•û‚Íshared_ptr‚Ì–{—ˆ‚ÌŽg‚¢•û‚̈ꕔ‚É‚µ‚©‚·‚¬‚È‚¢B
shared_ptr‚Ì–{—ˆ‚ÌŽg‚¢•û‚ð’m‚Á‚½ã‚ÅŽg‚¤‚ׂ«B

166:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 12:13:58
>>162
Žc”O‚È‚ª‚çAptr_holder*‚ðvoid*‚É‚µ‚Ä“n‚·‚Æ‚¢‚¤Œ`‚ɂȂè‚Ü‚·‚Ì‚Å
Œ‹‹Ç‚̂Ƃ±‚ëvoid*‚ªptr_holder*‚É–ß‚¹‚é‚©‚Æ‚¢‚¤A‚Ù‚Ú“¯‚¶–â‘è‚É–ß‚Á‚Ä‚µ‚Ü‚¢‚Ü‚·

>>163
‚â‚Í‚èvoid*‚ªshared_ptr<void>‚ɕϊ·‚Å‚«‚é•ÛØ‚͂Ȃ¢‚Ì‚ÅAŠ®‘S‚ł͖³‚¢‚Å‚·‚Ë


‚Å‚à“¯ˆêƒvƒƒWƒFƒNƒg“à‚łȂçshared_ptr‚É“ˆê‚·‚邱‚Ƃ͉”\‚È‚Ì‚ÅŽŽ‚µ‚Ă݂½‚¢‚ÆŽv‚¢‚Ü‚·
‚݂Ȃ³‚ñƒŒƒX‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½

167:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 12:39:16
>void*‚ªptr_holder*‚É–ß‚¹‚é‚©

‚»‚±‚Í“–‘Rptr_holder‚µ‚©Žg‚í‚È‚¢‚Æ‚¢‚¤”›‚肪•K—v‚ɂȂé

168:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 12:50:54
void*‚âshared_ptr<void>‚ł͂Ȃ­Aboost::anyi‚ ‚é‚¢‚Íany*‚âshared_ptr<any>j‚É‚µ‚½‚ç‚¢‚¢B

169:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 15:23:09
Linux‚ÅC++•׋­‚µ‚½‚¢‚ñ‚¾‚¯‚Ç
ƒ‰ƒCƒuƒ‰ƒŠ‚Á‚ĉ½‚ª•W€‚È‚ÌH

170:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 15:25:02
gcc‚Æ‚©‚Ì‚±‚ÆH

171:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 15:25:38
>>169
‚Ü‚¸‚Í C •W€ƒ‰ƒCƒuƒ‰ƒŠ‚Æ C++ •W€ƒ‰ƒCƒuƒ‰ƒŠ‚¾‚ÈB

172:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 15:29:38
>>171
boost‚Æ‚¢‚¤‚Ì‚ª•W€‚Å‚·‚©H‚»‚ê‚Æ‚àSTL‚Æ‚¢‚¤‚̂ł·‚©H

173:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 15:35:08
>>172
boost ‚Í•W€‚ł͂Ȃ¢‚ªA«—ˆ‚Ì•W€‚Ɋ܂܂ê‚é‚à‚Ì‚ðŠÜ‚ñ‚Å‚¢‚éB
STL ‚Í̖̂¼‘O‚ÅA¡‚Í C++ •W€ƒ‰ƒCƒuƒ‰ƒŠ‚Ɋ܂܂ê‚Ä‚¢‚éB

174:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 15:38:54
>>172
boost‚Í•W€ƒ‰ƒCƒuƒ‰ƒŠ‚ł͂Ȃ¢B
‚¾‚ªM—Š«EˆÚA«‚Ì‚ ‚éŠO•”ƒ‰ƒCƒuƒ‰ƒŠ‚¾‚ÆŽv‚¤B
‚ ‚Æboost‚Ì‚·‚²‚¢‚Æ‚±‚ë‚ÍÅæ’[‚ð‚ß‚Á‚¿‚á’Ç‹‚µ‚Ä‚¢‚邯‚±‚ë‚©‚ÈB



175:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 15:45:36
boost‚Í·‚肾‚­‚³‚ñ‚¾‚©‚çA‚ЂƂ­‚­‚è‚Å‘S•”OK‚Æ‚©ƒ_ƒ‚¾‚Ƃ͌¾‚¢‚É‚­‚¢‚ÈB

176:progress_display
10/02/07 15:49:25
>>175
Ž„‚Ì‚±‚Æ‚¨ŒÄ‚ÑH

177:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 16:40:18
ð“úˆá‚¤ƒXƒŒ‚ÅŽ¿–₵‚Ü‚µ‚½‚ªAŽ¿–₳‚¹‚Ä‚­‚¾‚³‚¢

public void setXXX(Foo* f)‚Æ‚¢‚¤ƒƒ\ƒbƒh‚ª‚ ‚Á‚½ê‡A
‚P.setXXX(f);¨f‚̓|ƒCƒ“ƒ^
‚Q.setXXX(&f);¨f‚̓|ƒCƒ“ƒ^‚ł͂Ȃ­Af‚̃AƒhƒŒƒX‚ð“n‚µ‚Ä‚¢‚é

•’ʂɃvƒƒOƒ‰ƒ~ƒ“ƒO‚ð‚µ‚½ê‡‚ÍA1 or 2‚̂ǂ¿‚ç‚Å‚à‘åä•v‚¾‚ÆŽv‚¢‚Ü‚·
‚µ‚©‚µAGUIŠÖŒW‚ðƒvƒƒOƒ‰ƒ~ƒ“ƒO‚µ‚½ê‡‚ÍA‚Q‚Ì•û–@‚̓_ƒ‚ȉ”\«‚ª‚‚¢‚ÆŽv‚¤‚̂ł·‚ª
Œ‹‹Ç‚ÍGUI Tool Kit‚Ɉˑ¶‚·‚邯‚¢‚¢‚¤‚±‚Ƃłµ‚傤‚©H

178:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 16:47:07
f‚ªFoo‚̃|ƒCƒ“ƒ^‚È‚ç1‚¾‚µAFoo‚̃Cƒ“ƒXƒ^ƒ“ƒX‚È‚ç2
ƒc[ƒ‹ƒLƒbƒg‚Æ‚©‚»‚¤‚¢‚¤–â‘è‚¶‚á‚È‚¢
‚»‚à‚»‚àpublic void setXXX‚Í’Êí‚È‚ç\•¶ƒGƒ‰[

179:177
10/02/07 16:51:15
>>178
1‚ÍFoo* f = new Foo();
2‚ÍFoo f;
‚Å錾‚µ‚Ä‚¢‚Ü‚·

>‚»‚à‚»‚àpublic void setXXX‚Í’Êí‚È‚ç\•¶ƒGƒ‰[
‰½ŒÌH

180:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 16:58:25
‚»‚ÌGUIƒIƒuƒWƒFƒNƒg‚ªƒ[ƒJƒ‹ƒXƒR[ƒvŒÀ‚è‚Å휂³‚ê‚邿‚¤‚Èꇂ͕ʂÉ2‚Å‚à–â‘è‚È‚¢‚ÆŽv‚¤‚¯‚ê‚Ç
ƒfƒoƒCƒXƒRƒ“ƒeƒLƒXƒg‚Æ‚©‚Í‚»‚¤‚¢‚¤Žg‚¢•û‚ð‚µ‚»‚¤‚¾‚ªƒEƒBƒ“ƒhƒE‚Æ‚©‚Í‚ ‚܂肻‚¤‚¢‚¤Žg‚¢•û‚ð‚µ‚È‚¢‚¾‚낤

181:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 17:06:54
>>179
ƒGƒ‰[‚Á‚Ă̂ÍApublic‚ÌŒã‚ë‚ɃRƒƒ“‚ª•t‚¢‚ĂȂ¢‚¾‚¯‚Ì‚±‚Æ‚¾‚ÆŽv‚¤B

182:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 17:06:54
>>177
> GUIŠÖŒW‚ðƒvƒƒOƒ‰ƒ~ƒ“ƒO‚µ‚½ê‡‚ÍA‚Q‚Ì•û–@‚̓_ƒ‚ȉ”\«‚ª‚‚¢‚ÆŽv‚¤‚̂ł·‚ª

‚È‚ñ‚ÅH
ˆÓ–¡‚í‚©‚ñ‚È‚¢B

‰Â”\«‚ª‚‚¢‚Æ‚©ƒOƒ_ƒOƒ_Œ¾‚Á‚ĂȂ¢‚ÅAŠÖ”‚ÌŽd—l‚ðŠm”F‚·‚ê‚΂¢‚¢‚Ì‚ÉB

183:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 17:15:50
ƒXƒ^ƒbƒN‚âƒq[ƒv‚Æ‚¢‚Á‚½ƒƒ‚ƒŠ—̈æ‚Í‚²‘¶‚¶H

184:177
10/02/07 17:56:51
>>180
‚»‚ê‚à‚»‚¤‚Å‚·‚Ë

>>181
javaog‚È‚à‚Ì‚ÅA‚¤‚Á‚©‚è‚â‚Á‚Ä‚µ‚Ü‚¢‚Ü‚µ‚½

>>183
yes

185:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 18:14:18
177‚ª‚È‚ñ‚Å‚»‚ñ‚È‹^–â‚ðŽ‚Á‚½‚©‚̂ق¤‚ª‹C‚ɂȂé
‚»‚à‚»‚àŽÀˆø”f‚ÌŒ^‚ªFOO‚ւ̃|ƒCƒ“ƒ^‚¾‚Æ‚µ‚½‚ç
ã‚Ì1‚Æ2‚Í‘S‚­“¯‚¶ˆÓ–¡‚¾‚Æ‚¢‚¤‚͕̂ª‚©‚Á‚Ä‚éH

186:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 18:17:44
185‚Í–Y‚ê‚Ä‚­‚ê

187:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 18:21:54
>>185
ƒhƒ“ƒ}ƒCB‚½‚܂ɂ¤‚Á‚©‚肵‚¿‚Ⴄ‚æ‚ÈB

188:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 18:39:49
>>177‚͉½‚©‚ðŠ¨ˆá‚¢‚µ‚Ä‚é‹C‚ª‚·‚éB

public : void setXXX(Foo* f);

Foo fOrg;
Foo* f = &fOrg;

1.setXXX(f);¨f‚̓|ƒCƒ“ƒ^
2.setXXX(&fOrg);¨fOrg‚̓|ƒCƒ“ƒ^‚ł͂Ȃ­AfOrg‚̃AƒhƒŒƒX‚ð“n‚µ‚Ä‚¢‚é

‚±‚ê‚łǂÁ‚¿‚à“¯‚¶‚ɂȂé‚ñ‚¾‚ªB

189:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 18:47:44
>>188‚¢‚âA‚½‚Ô‚ñ‚»‚ꎩ‘̂͗‰ð‚µ‚Ä‚é‚ñ‚¶‚á‚È‚¢‚©‚È
GUIƒAƒvƒŠ‚ÅA’·ŠúŠÔ‚ ‚éƒIƒuƒWƒFƒNƒg‚ðŽg‚¤‚悤‚ÈꇂÉA
ƒq[ƒv‚ɂƂé‚ׂ«‚©i1jƒXƒ^ƒbƒN‚ɂƂé‚ׂ«‚©i2j‚Æ‚¢‚¤Ž¿–â‚È‚ñ‚¶‚á‚È‚¢‚Ì

190:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 18:54:41
‚¶‚á‚ AƒCƒ“ƒXƒ^ƒ“ƒX‚ÌŽõ–½‚ð‹C‚É‚µ‚Ä‚é‚Á‚Ä‚±‚Æ‚©B
‚»‚ñ‚È‚ÌJava‚àC++‚àˆê‚¶‚á‚È‚¢‚ÌH
ƒXƒR[ƒv‚𔲂¯‚½‚çƒfƒXƒgƒ‰ƒNƒ^‚ªŽÀs‚³‚ê‚é‚Å‚µ‚傤‚æB

191:190
10/02/07 18:56:52
‚²‚ß‚ñˆá‚Á‚½BJava‚Ífinalize‚ª‚¢‚ÂŽÀs‚³‚ê‚é‚Ì‚©•ª‚©‚ç‚ñ‚Ì‚ËB

192:177
10/02/07 19:11:12
>>189
‚»‚Ì’Ê‚è‚Å‚·B‚»‚¤‚¢‚¤Ž¿–â‚Å‚·
URLØÝ¸(gihyo.jp)
>1DŽqƒEƒBƒWƒFƒbƒg‚̃ƒ‚ƒŠ‰ð•ú‚ÌŽ©“®‰»
‚ð“Ç‚ñ‚Å‚¢‚½‚ç‹^–₪—N‚«‚Ü‚µ‚½

>>188 ‚ɂͫ‚Æ‘‚¢‚Ä‚¢‚Ü‚·‚ªA
>‚±‚ê‚łǂÁ‚¿‚à“¯‚¶‚ɂȂé‚ñ‚¾‚ªB

1.Foo fOrg;©ƒXƒ^ƒbƒN‚ɃCƒ“ƒXƒ^ƒ“ƒX‚ªŠm•Û‚³‚ê‚éƒnƒY
2.Foo* f = new Foo();©ƒq[ƒv‚ɃCƒ“ƒXƒ^ƒ“ƒX‚ªŠm•Û‚³‚ê‚é

2‚Ì•û–@‚¾‚ƃq[ƒv‚É‚ ‚éƒCƒ“ƒXƒ^ƒ“ƒX‚Ídelete‚µ‚È‚¢‚Æíœ‚³‚ê‚Ü‚¹‚ñ‚ªA
1‚Ì•û–@‚¾‚ÆŽ©“®“I‚É휂³‚ê‚é‚̂łÍH‚Æl‚¦‚Ü‚µ‚½

‚à‚µ‚àA1‚Ì•û–@‚ÅŽ©“®“I‚É휂³‚ê‚È‚©‚Á‚½ê‡A
ƒXƒ^ƒbƒN(first in first out)‚Ȃ̂Åu‘¼‚̕ϔ‚à휂³‚ê‚È‚­‚È‚é‰Â”\«v‚ª‚ ‚é‚ñ‚¶‚á‚È‚¢‚©‚È`‚Æ

‚í‚©‚肸‚ç‚­‚ÄAƒXƒ}ƒ\

193:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 19:18:21
1‚Ì‚â‚è•û‚ÅŽ©“®“I‚É휂³‚ê‚邿
fŽ©‘Ì‚Í휂³‚ê‚邪
f‚̃ƒ“ƒo‚Ƀ|ƒCƒ“ƒ^‚ª‚ ‚Á‚½ê‡
‚»‚̃|ƒCƒ“ƒ^‚ª‚³‚µ‚Ă鿂ªíœ‚³‚ê‚é‚©‚Í
‚¿‚á‚ñ‚Æ‚»‚¤‚¢‚¤ˆ—‚ð‘‚¢‚½‚©‚Á‚Ä‚±‚Ƃɂæ‚é


194:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 19:20:45
‚¢‚âAƒXƒ^ƒbƒN‚Á‚ÄLIFO: Last In First Out‚Ü‚½‚ÍFILO: First In Last Out‚¾‚©‚çB
ƒXƒ^ƒbƒN‚ÉŠm•Û‚µ‚½ƒCƒ“ƒXƒ^ƒ“ƒX‚ÍAƒXƒR[ƒv‚ðŠO‚ê‚ê‚ÎŽ©“®“I‚É휂³‚ê‚Ü‚·B
‚‚܂èƒXƒR[ƒv‚ðŠO‚ê‚È‚¢ŒÀ‚è‚ÍŽ©“®“I‚É휂³‚ê‚邱‚Ƃ͖³‚¢B
휂³‚ê‚È‚¢‚Ȃ炻‚̃VƒXƒeƒ€‚ª•…‚Á‚Ä‚éB
LIFO‚ðƒCƒ[ƒWo—ˆ‚ê‚Ρ‰ñ‚Ì‹^–â‚Í‰ðŒˆ‚·‚é‚Í‚¸B

195:177
10/02/07 19:35:38
>>193-194
‚È‚é‚Ù‚ÇA‚¢‚ë‚¢‚ë‚ÆŸŽè‚É‚â‚Á‚Ä‚­‚ê‚Ä
‚â‚Á‚Ä‚­‚ê‚È‚©‚Á‚½ê‡‚̓VƒXƒeƒ€‚ª•…‚Á‚Ä‚¢‚é‚Á‚Ä‚±‚Ƃł·‚Ë
---------------------------------------------------------------------
qt4‚ðŽQl‚ÉA“K“–‚Él‚¦‚Ă݂½ƒR[ƒh‚Ȃ̂ł·‚ª

class MainWindow { //ƒEƒCƒ“ƒhƒEŠÖŒW‚̃Nƒ‰ƒX
public:
void setWindowTitle(string* s);

void init() {
string s = "‚±‚ê‚Ì•û–@‚͈À‘S‚Ȃ̂©H";
mainWindow.setWindowTitle(&s);
mainWindow.show(); //gui‚̃Cƒxƒ“ƒgƒ‹[ƒv‚ðŠJŽn‚·‚é
}

mainWindow‚ªI—¹‚µ‚½’iŠK‚ÅAMainWindow‚ªstring s‚ðdelete‚·‚é
‚Ü‚½AmainWindow.show();‚̓uƒ‰ƒbƒNƒ{ƒbƒNƒX‚©‚³‚ê‚Ä‚¢‚ÄA
init()‚Ì•û‚ªÅ‰‚ÉI‚í‚é‚©‚à‚µ‚ê‚È‚¢‚Æ‚¢‚¤ðŒ‚Ìê‡@@//‚©‚È‚èA•…‚Á‚Ä‚¢‚é‹C‚ª‚·‚邯‚Ç

string s;‚Í‚â‚Á‚Ï‚èAstring *s = new string("ƒeƒXƒg");‚Æ‚µ‚½•û‚ª‚¢‚¢‚ñ‚Å‚·‚ËH
ÅŒã‚É‚±‚ÌŽ¿–₾‚¯‹³‚¦‚Ä‚­‚¾‚³‚¢

196:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 19:38:41
u1‚Ì•û–@‚ÅŽ©“®“I‚É휂³‚ê‚È‚©‚Á‚½ê‡v‚Á‚Ăǂ¤‚¢‚¤ó‹µ‚Å‚»‚¤‚È‚é‚ÆŽv‚Á‚½H
ƒVƒXƒeƒ€“I‚É‚ÍA>>194‚Ì’Ê‚èAƒXƒR[ƒv‚ðŠO‚ꂽ‚玩“®“I‚ɃfƒXƒgƒ‰ƒNƒ^‚ªŒÄ‚΂ê‚éB
>>193‚ÌŒ¾‚¤‚悤‚É‚»‚̃fƒXƒgƒ‰ƒNƒ^“à‚̈—‚Å•K—v‚È‚à‚Ì‚ð‰ð•ú‚µ‚Ä‚¢‚È‚¯‚ê‚΃ƒ‚ƒŠƒŠ[ƒN‚ɂȂéB

Java‚Ý‚½‚¢‚ÉAƒIƒuƒWƒFƒNƒg‚ª‚Ç‚±‚©‚ç‚©ŽQÆ‚³‚ê‚Ä‚¢‚éŠÔ‚Í휂³‚ê‚È‚¢‚È‚ñ‚Ä‚±‚Ƃ͂Ȃ¢‚Ì‚ÅA
‚à‚µsetXXX(&f)‚·‚邱‚ƂŶ‘¶ŠúŠÔ‚ªL‚Ñ‚é‚Æ‚©Žv‚Á‚Ä‚é‚È‚çŠÔˆá‚¢B
–³Œø‚ȃAƒhƒŒƒX‚ɑ΂µ‚ăAƒNƒZƒX‚ª”­¶‚µ‚ÄA‰^‚ª—Ç‚¯‚ê‚Î—Ž‚¿‚邵Aň«‚Ìꇂ͖قÁ‚Ä“®‚«‘±‚¯‚邱‚Æ‚Éc

197:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 19:39:48
>>195
string*‚Í‚â‚ß‚Äconst string&‚Ŏ󂯎æ‚Á‚½•û‚ª‚¢‚¢
MainWindow‚ÉWindowTitle‚̃ƒ“ƒo‚ð—pˆÓ‚µ‚ÄA
ƒRƒs[ƒRƒ“ƒXƒgƒ‰ƒNƒ^‚ŃRƒs[‚·‚é‚ׂ«

198:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 19:41:20
ƒRƒs[ƒRƒ“ƒXƒgƒ‰ƒNƒ^‚͊ԈႢ‚¾‚Á‚½B

199:177
10/02/07 19:56:45
>>196
>Java‚Ý‚½‚¢‚ÉAƒIƒuƒWƒFƒNƒg‚ª‚Ç‚±‚©‚ç‚©ŽQÆ‚³‚ê‚Ä‚¢‚éŠÔ‚Í휂³‚ê‚È‚¢‚È‚ñ‚Ä‚±‚Ƃ͂Ȃ¢‚Ì‚ÅA
>‚à‚µsetXXX(&f)‚·‚邱‚ƂŶ‘¶ŠúŠÔ‚ªL‚Ñ‚é‚Æ‚©Žv‚Á‚Ä‚é‚È‚çŠÔˆá‚¢B

‚È‚é‚Ù‚ÇA‚»‚ꂪ•·‚«‚½‚©‚Á‚½
‚í‚©‚è‚Ü‚µ‚½A‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·

>>197
>string*‚Í‚â‚ß‚Äconst string&‚Ŏ󂯎æ‚Á‚½•û‚ª‚¢‚¢
‚¤[‚ñA‚»‚ê‚ÍŠë‚È‚­‚È‚¢‚Å‚·‚©H
>init()‚Ì•û‚ªÅ‰‚ÉI‚í‚é‚©‚à‚µ‚ê‚È‚¢‚Æ‚¢‚¤ðŒ‚Ìê‡
‚Æ‚¢‚¤ðŒ‚ª‚ ‚é‚Ì‚Å

200:196
10/02/07 19:56:46
XV‚µ‚ĂȂ©‚Á‚½
>>195‚ÌðŒ‚È‚ç‚Ç‚Á‚¿‚àƒ_ƒ
new‚µ‚½ê‡‚ÍŽ©•ª‚Ådelete‚µ‚È‚«‚á‚¢‚¯‚È‚¢‚Ì‚ÅAƒƒ“ƒo•Ï”‚Æ‚©‚ÉŽ‚Á‚Ä‚¨‚­•K—v‚ª‚ ‚é

>>192‚ÌQt‚ÌꇂÍAeƒEƒBƒWƒFƒbƒg‚©‚ç’H‚ê‚éŽqƒEƒBƒWƒFƒbƒg‚ɂ‚¢‚Ä‚ÍA
eƒEƒBƒWƒFƒbƒg‚̃fƒXƒgƒ‰ƒNƒ^“à‚Ådelete‚ðŒÄ‚ñ‚Å‚­‚ê‚Ä‚é‚Á‚Ä‚±‚Æ‚¾‚ÆŽv‚¤
‚»‚¤‚¢‚¤ƒtƒŒ[ƒ€ƒ[ƒN‚ðŽg‚¤‚Ȃ玩•ª‚Ådelete‚·‚é•K—v‚͂Ȃ¢i‚Æ‚¢‚¤‚©‚µ‚½‚ç‚Ü‚¸‚¢j

‚ ‚Æ’¼ÚŠÖŒW‚È‚¢‚¯‚ÇA
ƒXƒ^ƒbƒN‚ðŽg‚¤ê‡‚ÍAJava‚É‚Í^Ž—‚Å‚«‚È‚¢RAII‚Á‚Ä‹Z–@‚ª‚ ‚é‚©‚ç’²‚×‚Ä‚Ý‚é‚Æ–Ê”’‚¢‚©‚à
ƒq[ƒv‚Ìꇂ̓Xƒ}[ƒgƒ|ƒCƒ“ƒ^iboost::shared_ptr‚Æ‚©j‚ðŽg‚¤‚ƈÀ‘S“x‚ª‚‚Ü‚é

201:177
10/02/07 20:07:03
>>200
>Java‚É‚Í^Ž—‚Å‚«‚È‚¢RAII
‚±‚ê’²‚ׂè‚«‚Ü‚·

>mainWindow‚ªI—¹‚µ‚½’iŠK‚ÅAMainWindow‚ªstring s‚ðdelete‚·‚é
‚±‚¤‚¢‚¤ðŒ‚ª‚ ‚é‚̂ū‚Í‹C‚É‚µ‚È‚­‚Ä‚¢‚¢‚̂łÍH
>new‚µ‚½ê‡‚ÍŽ©•ª‚Ådelete‚µ‚È‚«‚á‚¢‚¯‚È‚¢‚Ì‚ÅAƒƒ“ƒo•Ï”‚Æ‚©‚ÉŽ‚Á‚Ä‚¨‚­•K—v‚ª‚ ‚é


202:196
10/02/07 20:15:39
>>201‚·‚Ü‚ñAŒ©—Ž‚Æ‚µ‚Ă܂µ‚½‚—
‚¶‚á‚ newˆÈŠO‚È‚¢‚Ëi‹t‚ÉAƒXƒ^ƒbƒN‚ÉŠm•Û‚µ‚½ƒCƒ“ƒXƒ^ƒ“ƒX‚ðdelete‚·‚é‚̂͑ʖÚjB
‚½‚¾AŠÖ”ƒŒƒxƒ‹‚Å‚»‚ñ‚ÈŽÀ‘•‚·‚é‚Ì‚ÍC++“I‚¶‚á‚È‚¢‚Ì‚ÅA•’ʂȂ¢‚Ƃ͎v‚¤‚¯‚ÇB

203:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 20:26:02
C++‚ðK“¾‚·‚éê‡A
Java¨C++‚æ‚èC¨C++‚Ì—¬‚ê‚Ì•û‚ª‚â‚Á‚Ï‚è‚Ü‚Æ‚à‚¾‚È

204:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 20:28:11
‚È‚º‚í‚´‚í‚´r‚ê‚»‚¤‚È•ûŒü‚ÖŽ‚Á‚Ä‚¢‚­

205:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 20:30:31
>>204
‚»‚¤‚¢‚¤r‚ê‚»‚¤‚È”­Œ¾‚ÍAƒƒbI‚Å‚·‚æ

206:177
10/02/07 20:32:25
>>202
‚¢‚ë‚¢‚ë‚ÆA‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½

207:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 20:33:14
>>203
C‚̓Nƒ‰ƒX‚ª‚È‚¢‚¶‚á‚ñ
‚¾‚©‚ç–Ê“|‚­‚³‚¢

208:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 20:34:52
‚±‚ꂪ‚䂯‚è‚©c

209:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 21:09:47
‚Q‚¿‚á‚ñ‚Ë‚éƒuƒ‰ƒEƒU‚ňê”ԓ‚¢Š‚ÍAƒXƒŒ‚ð•\ަ‚·‚é‹@”\‚¾‚ÆŽv‚¤‚ñ‚¾‚æ‚Ë
‚µ‚©‚µAŠù‘¶‚Ìêƒuƒ‰‚Í‚»‚ê‚ð‚Ç‚¤‚â‚Á‚Ä‰ðŒˆ‚µ‚Ä‚¢‚é‚Ì‚©H‚Á‚ÄŠ‚ª–â‘è

210:209
10/02/07 21:13:17
‚²‚ß‚ñAŒë”š‚µ‚½

211:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 21:36:08
C++‚ðŠw‚Ô‚Ì‚ÉC‚ðŠw‚Ô•K—v‚͂Ȃ¢‚æ
C‚̌­‚Ċ댯‚È‚â‚è•û‚Í‚â‚ç‚È‚¢•û‚ª‚¢‚¢

212:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 21:48:26
URLØÝ¸(www1.axfc.net)

CodeSynthesis XSD/e‚̃Tƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€‚ðVisual C++ 2008 Express Edition‚ÌIDEã‚Ńrƒ‹ƒh‚µ‚½‚¢‚̂ł·‚ªAƒŠƒ“ƒJƒGƒ‰[‚ª
‘å—Ê‚Éo‚Ä‚µ‚Ü‚¢o—ˆ‚Ü‚¹‚ñB‚¤‚‚µ‚½‚Ì‚ÍXSDE‚̃‰ƒCƒuƒ‰ƒŠ‚ƃTƒ“ƒvƒ‹1‚‚¾‚¯Žæ‚Á‚Ĭ‚³‚­‚µ‚½‚à‚̂ł·B
nmake‚¾‚ƃrƒ‹ƒho—ˆ‚é‚̂ł·‚ªAIDE‚ÌuŠù‘¶‚̃R[ƒh‚©‚çƒvƒƒWƒFƒNƒg‚ðì¬v‚Å쬂µ‚½ƒvƒƒWƒFƒNƒg‚Ńrƒ‹ƒh‚·‚邯ޏ”s‚µ‚Ä‚µ‚Ü‚¢‚Ü‚·B

URLØÝ¸(www.codesynthesis.com)

213:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 21:51:40
>>211
‚»‚̌­‚Ċ댯‚È‚à‚Ì‚ÅA¡Œ»Ý‚à‚Ç‚ê‚Ù‚Ç‘½‚­‚Ì‚à‚Ì‚ªì‚ç‚ê‚Ä‚¢‚é‚©B

ƒoƒJ‚ɂ͎g‚¢‚±‚È‚¹‚È‚¢A‚Á‚Ä“_‚ł͊m‚©‚ÉC++ˆÈゾ‚Ƃ͎v‚¤‚¯‚Ç‚ÈB

214:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 21:56:39
C++‚̓|ƒCƒ“ƒ^‘€ì‚ðƒNƒ‰ƒX“à‚ɉB•Á‚Å‚«‚éƒƒŠƒbƒg‚ð—‰ð‚µ‚ÄŽg‚Á‚Ä‚él‚͂ǂꂭ‚ç‚¢‚ÌŠ„‡‚¢‚é‚ñ‚¾‚낤‚©B
C‚ð’m‚炸‚ÉSTL‚ð‚¢‚«‚È‚èŽg‚Á‚½‚Ù‚¤‚ªK‚¹‚ɂȂê‚é‚̂ł͂Ȃ¢‚©‚ÆŽv‚¤¡“ú‚±‚Ì B


215:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 22:00:19
>>213
C‚ÍC‚Å¡‚Å‚à‚ ‚¿‚±‚¿‚ÅŽg‚í‚ê‚Ä‚¢‚é‚͉̂´‚à“¯ˆÓ‚¾‚¯‚ÇA‚»‚ê‚Æ‚±‚ê‚Æ‚Í•ÊB

216:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 22:03:24
‚»‚±‚ÅAccelerated@C++‚Å‚·‚æ

217:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/07 23:50:57
>>214
delete‚ð‚Ù‚Æ‚ñ‚Ço‚³‚È‚¢“ü–å‘‚ª‚ ‚Á‚Ä‚à‚¢‚¢‚̂ł͂Ȃ¢‚©‚ÆŽv‚¤‚Æ‹C‚ª‚ ‚é

218:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/08 02:48:34
u`‚Ì”v‚Á‚ĂƂ«‚ɂ‚¯‚é•Ï”–¼AŠF‚³‚ñ‚͂ǂ¤‚µ‚Ă܂·‚©B
‚½‚Æ‚¦‚΂è‚ñ‚²‚Ì”‚Æ‚©cB

219:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/08 03:13:16
num_apples

220:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/08 03:16:40
l‚É‘E‚ß‚é‚È‚çcount‚©‚È‚ŸB

Ž©•ª‚̃vƒƒWƒFƒNƒg‚Å‚ÍA”‚ÍnumA”Ô–Ú‚Íno‚ðŽg‚Á‚Ä‚éB
‚»‚êˆê‚âIŒ³ƒlƒ^ˆê‚â‚ÅI‚Æ‚¢‚¤ƒcƒbƒRƒ~‚͊Âñ‚¶‚Ď󂯂悤B
‘厖‚È‚±‚Ƃ̓vƒƒWƒFƒNƒg“à‚ł̈êŠÑ«Bi‚ ‚ÆŒŸõˆêˆÓ«j
‚»‚ꂳ‚¦Œ©Ž¸‚í‚È‚¯‚ê‚Îhoge‚Å‚à\‚í‚ñB

221:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/08 03:35:36
>>219>>220
ƒŒƒX‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·I
Ž„‚Íthe number of `‚Æ‚©l‚¦‚Ă܂µ‚½B‚Å‚à‚±‚ê‚¶‚á‚ ‚È‚ñ‚©‚È`c‚ÆB
‚±‚ê‚©‚ç‚ÍnumAno‚ðˆêŠÑ‚µ‚¯‚Ä‚¢‚­‚±‚Ƃɂµ‚Ü‚·B

222:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/08 07:03:31
ƒvƒƒOƒ‰ƒ€‚©‚çPukiWiki‚̃y[ƒW‚ð‘‚«Š·‚¦‚é‚ɂ͂ǂ¤‚â‚ê‚΂¢‚¢‚Å‚·‚©H

223:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/08 07:59:00
HTTP‚Å‚µ‚©‚é‚ׂ«POSTƒƒ\ƒbƒh‚ð‘—M‚·‚ê‚΂¢‚¢‚ÆŽv‚¤‚¯‚Ç

224:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/08 08:19:06
>>223
‚Ç‚¤‚à‚Å‚·B
HTTP‚Æ‚¢‚¤‚ÆAC++‚ÅŽg‚¤‚Ì‚Íwininet‚Å‚·‚©‚ËB
HTTP‚ÌŽ–‚à’²‚ׂȂ¢‚Æ‚¢‚¯‚È‚¢‚È‚ŸB

225:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/08 08:52:24
ŒÂ”‚È‚çcount
—ʂȂçamount‚¾‚È

226:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/08 09:26:00
•Ï”–¼ƒXƒŒ‚Å‚â‚ê

227:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/08 09:36:02
Boost.Asio‚ðŽg‚Á‚½HTTP’ÊM‚̃Tƒ“ƒvƒ‹ƒR[ƒh‚͂悭“]‚ª‚Á‚Ă邿

228:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/08 14:39:57
int n;
cin >> n;
char buf[4096];
for(int i=0;i<n;++i){
cin.getline(buf,4096);
cout << buf << endl;
}
‚±‚̃vƒƒOƒ‰ƒ€‚Å
1
hello world
‚Æ‚¢‚¤“ü—Í‚ð‚µ‚Ähello world‚ðo—Í‚µ‚½‚¢‚ñ‚Å‚·‚ª
1 Enter‚ÌŽž“_‚ŃvƒƒOƒ‰ƒ€‚ªI‚í‚Á‚Ä‚µ‚Ü‚¢‚Ü‚·
ʼn‚Ìcin>>n‚ňê‚–ڂ̉üs‚ª“ǂ܂ê‚Ä‚¢‚È‚¢‚Ý‚½‚¢‚Ȃ̂ŋÁ‚¢‚½‚ñ‚Å‚·‚ª
getline‚Æ’Êí‚Ì>>‚ͬ‚º‚ÄŽg‚í‚È‚¢‚Ù‚¤‚ª‚¢‚¢‚ñ‚Å‚µ‚傤‚©H

229:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/08 15:06:36
cin>>n ‚Í”’l‚ð“ǂނ¾‚¯‚ʼnüs‚͓ǂ܂Ȃ¢‚©‚ç
‰üs‚ª—ˆ‚é‚܂œf‚«o‚³‚¹‚邯‚©
char c;
do {
cin >> c;
} while (c != '\n');

230:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/08 20:56:46
string s = "str";
if( s ) {
@@std::cout << "true" << std::endl;
}
‚±‚̃XƒŒ‚ÅðŒŽ®‚ɃCƒ“ƒXƒ^ƒ“ƒX‚ð“n‚µ‚Ä‚à‚¢‚¢‚Æ‹³‚¦‚Ä‚à‚ç‚Á‚½‚̂ł·‚ª
ƒVƒ“ƒ^ƒbƒNƒXƒGƒ‰[?‚ªo‚Ü‚µ‚½
>/Test/main.cpp:9: error: could not convert estrf to eboolf

why?



231:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/08 20:58:47
string‚̓fƒtƒH‚Åbool‚ɕϊ·‚Å‚«‚È‚¢B
s.c_str()‚Æ‚©‚â‚è‚È‚³‚ê

232:230
10/02/08 21:14:31
>>231
s = NULL‚ÌŽž‚ÍfalseAs != NULL‚ÌŽž‚Ítrue‚Æ‹³‚¦‚Ä‚à‚ç‚Á‚½‚̂ł·‚ª

233:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/08 21:33:46
>>232
‚»‚ê‚Íéx‚³‚ꂽ‚ñ‚¾‚æB
char* ‚Ȃ炻‚¤‚Ȃ邯‚ÇAstring ‚Í‚»‚¤‚͂Ȃç‚È‚¢B


234:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/08 21:45:34
>>232
–ÏM“I‚Él‚¦‚é‚̂͗ǂ­‚È‚¢‚æB‚»‚ê‚͉½‚ð•]‰¿‚µ‚Ă邩‚í‚©‚Á‚Ä‚é‚Ì‚©‚È‚ŸHH

string‚̓Nƒ‰ƒX‚Å>>230‚ÌŽg‚¢•û‚¾‚Æ“Á‚Ƀ|ƒCƒ“ƒ^‚Énew‚µ‚Ä‚é‚킯‚Å‚à‚È‚¢‚Ì‚ÅA‘¦ƒCƒ“ƒXƒ^ƒ“ƒX‚ÍŠm•Û‚³‚ê‚éB
“K“–‚ÈŒ^•ÏŠ·‚ðƒNƒ‰ƒX‚ÌŽÀ‘•‚É‚æ‚é•ÏŠ·‚Å—v‹‚·‚邪A
string‚͕ϊ·‹@\‚ðŽÀ‘•‚µ‚ĂȂ¢‚©‚çƒRƒ“ƒpƒCƒ‰‚³‚ñ‚ª•]‰¿‚Å‚«‚È‚¢‚æ`B‚Á‚ăGƒ‰[‚ð•Ô‚µ‚Ä‚¢‚éB

235:230
10/02/08 21:45:55
>>233
string‚¾‚©‚çƒ_ƒ‚È‚ñ‚Å‚·‚©‚ËH
‚»‚ÌŽž‚ÍAif(ƒIƒuƒWƒFƒNƒg)‚͂ȂºƒVƒ“ƒ^ƒbƒNƒXƒGƒ‰[‚ɂȂç‚È‚¢‚ÌH‚Á‚ÄŽ¿–₵‚½‚ñ‚Å‚·‚ª

236:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/08 21:51:23
>>235
if‚͘_—Ž®‚Ì•]‰¿‚ÌŒã‚ÉÅI“I‚É‚Íbool‚ð—v‹‚·‚éB
bool‚ÌŠî–{‚ÍA0‚ªfalseA‚»‚êˆÈŠO‚ªtrue‚Ȃ̂ÅA
ƒ|ƒCƒ“ƒ^‚ð•]‰¿‚µ‚½‚Æ‚«‚Ƀ|ƒCƒ“ƒ^‚ÉNULL‚ª“ü‚Á‚Ä‚¢‚½‚çNULL==0==false‘Š“–‚Ȃ̂ł»‚̂悤‚É“®‚­B
¦‚¢×‚©‚¢˜b‚È‚ñ‚¾‚ªBBB

237:230
10/02/08 21:53:01
>>236
‚í‚©‚è‚Ü‚µ‚½
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·

238:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/08 22:21:43
C++ƒeƒ“ƒvƒŒ[ƒgƒeƒNƒjƒbƒNƒX‚Æ‚¢‚¤–{‚ÉÚ‚Á‚Ä‚¢‚½
vtable‚ðŽ©•ª‚ÅŽÀ‘•‚·‚é•û–@‚Å”ñ‰¼‘zŠÖ”‚ð‰¼‘zŠÖ”‚̂悤‚Ɉµ‚¤•û–@‚È‚ñ‚Å‚·‚ª
‚±‚ê‚Á‚Ä•’ʂɉ¼‘zŠÖ”‚ðŽg‚Á‚½ê‡‚ƂǂÁ‚¿‚ª‘‚¢‚ñ‚Å‚·‚©H

239:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/08 22:38:26
if(boolean-expression) {}

boolean-expression ‚ª object ‚¾‚Á‚½ê‡A
ƒRƒ“ƒpƒCƒ‰‚ÍŽŸ‚Ì—D懘‚ŕϊ·‚ðŽŽ‚Ý‚éB

1. operator bool() {}
2. operator ”’lŒ^() {}
3. operator ƒ|ƒCƒ“ƒ^Œ^() {}

operator bool() ‚ªŽÀ‘•‚³‚ê‚Ä‚¢‚È‚¢ê‡A
‚©‚ operator ”’lŒ^() ‚ª•¡”ŽÀ‘•‚³‚ê‚Ä‚¢‚éꇂÍA
žB–†‚Å‚ ‚邽‚߃Rƒ“ƒpƒCƒ‹ƒGƒ‰[‚ƂȂéB

VC2008EE‚ÅŠm”F‚µ‚½‚çA‚±‚ñ‚È“®ì‚¾‚Á‚½B
‚±‚ê‚ÍŒ¾ŒêŽd—l‚Å’è‹`‚³‚ê‚Ä‚é‚Ì‚©‚ÈH


240:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/08 22:51:23
>>238
ŽÀ‘•‚É‚æ‚邯‚µ‚©B
‘å’ï‚Ù‚Ú“¯‚¶‚É‚È‚é‚ÆŽv‚¤‚ªB

241:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/08 23:09:16
>>238
Å“K‰»‚¤‚ñ‚Ê‚ñ‚â‚çƒXƒŒƒbƒhˆÀ‘S«‚Ȃǂðl‚¦‚Ä‚àA
vtable‚ðŽ©•ª‚ÅŽÀ‘•‚È‚ñ‚Ä‚µ‚È‚­‚Ä‚¢‚¢‚Æ‚à‚¤‚¯‚Ç‚ËB

‚¾‚¢‚½‚¢A‰¼‘zŠÖ”‚̃Xƒs[ƒh‚ªƒlƒbƒN‚ɂȂéÝŒv‚È‚ñ‚Ä
¡‚܂ʼn´‚݂͂½‚±‚ƂȂ¢‚æB

80-20‚Ì–@‘¥‚Á‚Ă₂ðŽv‚¢o‚·‚µ‚©B


242:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/08 23:10:36
>229
‚¨‚Ü‚¢‚Í¡ ignore ‚³‚ñ‚Ì‘¶ÝˆÓ‹`‚ð”ے肵‚½B

243:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/08 23:29:37
__FreeList* element = static_cast<Integer::FreeList*>(::operator new (sizeof(Integer)));
__freeList_ = element;
__for (int i = 1; i < BLOCK_SIZE; ++i) {
____element->next = static_cast<Integer::FreeList*>(::operator new (sizeof(Integer)));
____element = element->next;
__}
__element->next = 0;

‚±‚ê‚̈Ӗ¡‚ª‰ð‚è‚Ü‚¹‚ñ



244:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/08 23:30:57
‚Ç‚±‚ª•ª‚©‚ç‚È‚¢‚ÌH

245:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/08 23:44:11
>239
‚à‚¤‚¿‚å‚¢Žü•Ó‚Ì‹Lq‚à—L‚Á‚½•û‚ª•ª‚©‚è‚â‚·‚»‚¤‚¾‚¯‚ÇA‚Ƃ肠‚¦‚¸ˆÈ‰º‚Ì‹K’è‚©‚瓱‚©‚ê‚铮삾‚ÆŽv‚í‚êB
> 14882:2003
> 13.3.3p1
>(—ª)
> - the context is an initialization by user-defined conversion (see 8.5, 13.3.1.5, and 13.3.1.6) and the standard
> conversion sequence from the return type of F1 to the destination type (i.e., the type of the entity
> being initialized) is a better conversion sequence than the standard conversion sequence from the return
> type of F2 to the destination type.
>
> 13.3.3.2p4
> Standard conversion sequences are ordered by their ranks: an Exact Match is a better conversion than a Promotion,
> which is a better conversion than a Conversion. Two conversion sequences with the same rank are
> indistinguishable unless one of the following rules applies:
> - A conversion that is not a conversion of a pointer, or pointer to member, to bool is better than another
> @ conversion that is such a conversion.
>(—ª)

246:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/08 23:52:36
>>244
‚±‚̕ӂª‚æ‚­‚í‚©‚è‚Ü‚¹‚ñB
static_cast<Integer::FreeList*>(::operator new (sizeof(Integer)));

”z—ñ‚ðŠm•Û‚µ‚Ä‚é‚̂ł·‚æ‚ËH

247:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/09 00:40:32
>>241
vtable‚ÌŽ©‘OŽÀ‘•‚ÍAŒ^Á‹Ž‚©ƒoƒCƒiƒŠŒÝŠ·‚ªŽå‚È——R‚¾‚ÆŽv‚¤B
‘¬“x–Ú“I‚Í•·‚¢‚½‚±‚ƂȂ¢‚È‚ B

248:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/09 00:55:02
Ž©‘Ovtable‚Á‚Ä‚¢‚Ü‚¢‚¿Žg‚¢“¹‚ª•s–¾‚¾‚ÆŽv‚Á‚Ä‚½‚ñ‚¾‚¯‚ÇA‚»‚¤‚¢‚¤‚Æ‚±‚ë‚ÅŽg‚¤‚Ì‚Ë

249:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/09 01:01:23
‚ ‚ AŽ©‘Ovtable‚Å‘¬“xŒüã‚ɂȂé‚Á‚Ęb‚àŽv‚¢o‚µ‚½B
‚Ç‚±‚¾‚©–Y‚ꂽ‚¯‚ÇAŠT—v‚Æ‚µ‚Ă͔ñƒ|ƒŠƒ‚[ƒtƒBƒbƒN‚Ɉµ‚¤ŒÀ‚è
”ñ‰¼‘zŠÖ”‚¾‚©‚çÅ“K‰»‚³‚ê‚â‚·‚¢‚Æ‚¢‚¤—‹üB

¡Žž‚̃Rƒ“ƒpƒCƒ‰‚È‚çA‰¼‘zŠÖ”‚Å‚à‘½‘Ô“I‚łȂ¢ó‹µ‚ÅŽg‚í‚ê‚邱‚Æ‚ð
ŒŸo‚µ‚Ä‚â‚é‚È‚ñ‚Ä’©”Ñ‘O‚¾‚낤‚©‚çA‚â‚Á‚ς葬“x–Ú“I‚ÅŽ©‘Ovtable‚É‚·‚é——R‚͂Ȃ¢‚ÈB

250:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/09 01:41:35
>>246
::operator new()‚Æ‚¢‚¤‚Ì‚ÍA
—v‹‚³‚ꂽƒƒ‚ƒŠ‚ðŠm•Û‚µ‚Ä
void*‚Æ‚µ‚ĕԂ·ŠÖ”B
(bad_alloc‚𓊂°‚émalloc()A‚Æl‚¦‚Ă悢)

‚µ‚½‚ª‚Á‚ÄAsizeof(Integer)‚̃ƒ‚ƒŠ‚ðŠm•Û‚µ‚Ä
‚»‚ê‚ð(void*‚©‚ç)Integer*‚ɃLƒƒƒXƒg‚µ‚Ä‚éB

251:222
10/02/09 08:05:12
‚¤[‚ñA’ÊM‚̃vƒƒOƒ‰ƒ€“‚¢EEEB
HttpOpenRequest‚âHttpSendRequest‚ðŽg‚¤‚ÆŽv‚¤‚̂ł·‚ªA‚Ç‚¤‚â‚ê‚΂¢‚¢‚Ì‚©‚í‚©‚ç‚È‚¢‚Å‚·B
ƒuƒ‰ƒEƒU‚ÅPukiWiki‚ðŠJ‚¢‚ă\[ƒX‚ðŒ©‚Ä‚àA‚±‚ê‚Æ“¯‚¶Ž–‚ðwininet‚Å‚â‚é‚ɂ͂ǂ¤‚·‚ê‚΂¢‚¢‚Ì‚©‚³‚Á‚Ï‚èEEEB
‰½‚©—Ç‚¢ƒTƒ“ƒvƒ‹‚͂Ȃ¢‚Å‚µ‚傤‚©H

252:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/09 10:25:13
‚»‚à‚»‚àHTTP‚͂킩‚Á‚Ä‚é‚ÌH

253:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/09 11:43:02
>>252
Œy‚­’²‚ׂ½’ö“x‚Ì’mޝ‚µ‚©‚È‚¢‚Å‚·B

254:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/09 11:52:52
‚¶‚á‚ ‚Ü‚¸‚ÍŠÈ’P‚ÈCGI‚ðŽ©ì‚µ‚ÄA‚»‚¢‚‚ÉPOST‚·‚邿‚¤‚Ȃ̑‚¢‚Ă݂ĂÍ

255:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/09 12:58:56
ƒTƒuƒNƒ‰ƒX‚ð•’ʂɎg‚¢‚‚ÂAƒX[ƒp[ƒNƒ‰ƒX‚ðƒCƒ“ƒXƒ^ƒ“ƒX‰»‚ð‹ÖŽ~‚·‚é•û–@‚Á‚Ä‚ ‚è‚Ü‚·‚©H


256:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/09 13:06:01
virtual function-name() = 0

257:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/09 13:06:21
ƒX[ƒp[ƒNƒ‰ƒX‚̃Rƒ“ƒXƒgƒ‰ƒNƒ^‚ðprivate/protected‚É‚µ‚ÄŽÀ‘•‚ð‘‚©‚È‚¢
‚Á‚Ä‹Z‚ª‚ ‚Á‚½‚ÆŽv‚¤
iostreamƒ‰ƒCƒuƒ‰ƒŠ‚Å‚àŽg‚í‚ê‚Ä‚é‚Á‚ÄEffectiveC++‚̂ǂÁ‚©‚É‘‚¢‚Ä‚ ‚Á‚½

258:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/09 13:10:25
’ŠÛƒNƒ‰ƒX‚Á‚Ä‚¢‚¤‚ñ‚Å‚µ‚傤‚©H
‚½‚¾ƒX[ƒp[ƒNƒ‰ƒX‚ÌŠÖ”‚Í‚·‚ׂÄvirtual‚È‚ª‚ç‚à’è‹`‚µ‚Ä‚¢‚ÄA
•K—v‚ɉž‚¶‚ăTƒuƒNƒ‰ƒX‚Åã‘‚«‚µ‚Ä‚¢‚é‚Ì‚ÅAƒˆ‰¼‘zŠÖ”‚ÍŽg‚¦‚È‚¢‚Å‚·

ƒX[ƒp[ƒNƒ‰ƒX‚̃fƒtƒHƒ‹ƒgƒRƒ“ƒXƒgƒ‰ƒNƒ^‚ðprotected‚É‚µ‚Ă݂܂µ‚½
‚±‚ê‚̓AƒŠ‚Å‚µ‚傤‚©H

259:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/09 13:12:07
>>257
ƒŠƒ[ƒh‚µ‚ĂȂ©‚Á‚½EEE
‚¢‚Ü‚»‚Ì‹LŽ–”­Œ©‚µ‚Ü‚µ‚½
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·

260:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/09 13:30:30
>>254
‚Ç‚¤‚à‚Å‚·B
CGI쬂̕û‚𒲂ׂ½‚çA‚¾‚¢‚Ô•ª‚©‚Á‚Ä‚«‚Ü‚µ‚½B

261:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/09 13:33:30
URLØÝ¸(codepad.org)

‚±‚¤‚¢‚¤‚â‚è•û‚à‚ ‚邿‚¤‚¾‚ª
‚±‚ê‚ͳ‚µ‚¢•û–@‚Ȃ̂©‚ÈH
vc++‚Æcodepad‚ł͊ú‘Ò’Ê‚è‚ɂȂé

262:257
10/02/09 14:08:02
‚Þ‚µ‚ë‚»‚ꂪ•’ʂ̂â‚è•û‚¾‚Ë
257‚Í’ù³Aprotected‚É‚µ‚Ä(ƒRƒs[ƒRƒ“ƒXƒgƒ‰ƒNƒ^‚â‘ã“ü‰‰ŽZŽq‚ð)ŽÀ‘•‚µ‚È‚¢‚Á‚Ă̂Í
ƒCƒ“ƒXƒ^ƒ“ƒX‰»‚Í‹–‚·‚¯‚ǃRƒs[‚Ío—ˆ‚È‚¢‚悤‚É‚·‚é
‚Æ‚¢‚Á‚½—v‹‚ª‚ ‚鎞‚ÉŽg‚¤‹Z‚¾‚Á‚½

263:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/09 15:08:46
std::tr1::unordered_set<Foo>

Foo‚Íoperator std::size_t‚ð’è‹`‚µ‚Ä‚¢‚È‚¢‚Æ‚¾‚ß‚¾‚Æ•·‚¢‚½‚ñ‚Å‚·‚ª
‚±‚ê‚Í‚¢‚Á‚½‚¢‚Ç‚ñ‚È’l‚ð•Ô‚·‚ׂ«‚È‚ñ‚Å‚µ‚傤‚©H

264:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/09 17:17:16
>>249
vc++ee2008‚ÅŽŽ‚µ‚½‚牼‘zŠÖ”‚̂ق¤‚ª‚R”{‘¬‚©‚Á‚½‚í

265:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/09 17:39:16
>>263
‚½‚Ô‚ñƒnƒbƒVƒ…’l


ŽŸƒy[ƒW
ÅVƒŒƒX•\ަ
ƒXƒŒƒbƒh‚ÌŒŸõ
—ÞŽ—ƒXƒŒˆê——
˜b‘è‚̃jƒ…[ƒX
‚¨‚Ü‚©‚¹ƒŠƒXƒg
¥ƒIƒvƒVƒ‡ƒ“‚ð•\ަ
‰É‚‚Ԃµ2ch

5399“ú‘O‚ÉXV/160 KB
’S“–:undef