y‰SŽÒнŒ}zC/C++Ž ..
[2ch|¥Menu]
49:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/02 20:36:50
>>43
‚¢‚¢‚ñ‚¶‚á‚Ë
boost‚Ì.hpp‚Á‚Ä‚ÁŠg’£Žq‚Í
ŽÀ‘•‚àŠÜ‚ñ‚Å‚éƒwƒbƒ_‚¾‚æA‚Á‚Ä‚¢‚¤‚悤‚ȈӖ¡‚È‚ñ‚¶‚á‚È‚¢‚©‚Ë

50:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/02 20:39:53
>>48
thx

51:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/02 21:45:20
>>49
Boost FAQ‚ɂ͈ȉº‚̂悤‚É‚ ‚邯‚ÇB

>‚È‚º Boost ‚̃wƒbƒ_ƒtƒ@ƒCƒ‹‚͂ǂê‚à‚±‚ê‚à .hpp ‚ðŽg‚¢A .h ‚âŠg’£Žq‚È‚µ‚É‚µ‚È‚¢‚̂ł·‚©H

>ƒtƒ@ƒCƒ‹‚ÌŠg’£Žq‚ÍAlŠÔ‚ƃRƒ“ƒsƒ…[ƒ^ƒvƒƒOƒ‰ƒ€‚Ì—¼•û‚É‚»‚̃tƒ@ƒCƒ‹‚Ì "Œ^" ‚ð“`‚¦‚é‚à‚̂ł ‚éB
>'.h' ‚Æ‚¢‚¤Šg’£Žq‚Í C ‚̃wƒbƒ_ƒtƒ@ƒCƒ‹‚Å—p‚¢‚ç‚ê‚Ä‚¨‚èA C++ ‚̃wƒbƒ_ƒtƒ@ƒCƒ‹‚ÉŠÖ‚µ‚ÄŠÔˆá‚Á‚½‚±‚Æ‚ð“`‚¦‚Ä‚µ‚Ü‚¤B
>Šg’£Žq–³‚µ‚Ì‚à‚Ì‚ð—p‚¢‚邯‰½‚à“`‚í‚炸AŒ^‚ð’f’è‚·‚邽‚߂Ƀtƒ@ƒCƒ‹‚Ì’†g‚𒲂ׂ邱‚Æ‚ð‹­§‚·‚éB
>'.hpp' ‚ðŽg‚¤‚±‚Æ‚ÅA‚»‚̃tƒ@ƒCƒ‹‚ª C++ ‚̃wƒbƒ_ƒtƒ@ƒCƒ‹‚Å‚ ‚邱‚Ƃ𖾊m‚É“Á’è‚·‚邱‚Æ‚ª‚Å‚«A ‚Ü‚½ŽÀÛ‚ÉŽg‚¤Û‚É‚à‚«‚¿‚ñ‚Æ“®ì‚·‚éB (Rainer Deyke)

52:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/02 22:00:10
>>51
‚‚܂èC++‚ÍÓIŒ^•t‚¯Œ¾Œê‚¾‚©‚çA
“¯‚¶‚悤‚ÉŒ^‚Ì”­‘z‚ð‚µ‚æ‚¤A‚Æ‚¢‚¤‚±‚Æ‚©B

EEE‚»‚ê‚Á‚ÄŽç‚ç‚È‚«‚áƒ_ƒ‚È‚ñH
BoostˆÈŠO‚Å‚àŽç‚ç‚ê‚é‚Ì‚ª•W€“I‚ÈC++‚Ì•¶‰»‚È‚ÌH


53:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/02 22:24:15
Šg’£Žq‚È‚ñ‚Ä‚½‚¾‚Ìü‚肾‚©‚牽‚Å‚à‚¢‚¢‚æ
.fuck‚Æ‚©.java‚Æ‚©.exe‚Æ‚©•t‚¯‚é‚Ì‚àŽ©—R‚¾

54:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/02 22:30:12
>>53
‚Ü‚ Ž©—R‚¾‚¯‚ÇA‚»‚ê‚ð‚܂˂µ‚½
¬Šw¶‚ª‚Ô‚ñ‰£‚ç‚ꂽ‚ç‰Âˆ£‘z‚¶‚á‚È‚¢‚©I


55:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/02 22:32:54
The Loki Library
‚ðŒ©‚Ä‚Ý‚½‚çA‚Ó‚Â[‚É.h‚¾‚Á‚½‚íB


56:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/02 22:34:27
.exe ‚Æ‚© .lnk ‚Æ‚©Šg’£Žq‚É‚æ‚Á‚Ă̓VƒXƒeƒ€‚ׂÁ‚½‚肾‚©‚çü‚è‚¶‚á‚·‚܂Ȃ¢‚È

57:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/02 22:50:13
ƒQ[ƒ€‚̃pƒ‰ƒ[ƒ^‚ðƒtƒ@ƒCƒ‹‚É’u‚¢‚Ä‚¨‚«‚½‚¢‚ñ‚Å‚·‚ª
c++‚©‚çŽg‚¦‚ĈƉ»‚à‚Å‚«‚éƒVƒ“ƒvƒ‹‚ȃf[ƒ^ƒx[ƒX‚Á‚Ä‚ ‚è‚Ü‚·‚©H

58:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/02 22:53:42
Linux‚É‚Ägprof‚Ńvƒƒtƒ@ƒCƒ‹‚ðŒ©‚Ä‚Ý‚½‚̂ł·‚ªA‘SŠÖ”‚̈—‚̇ŒvŽžŠÔ‚ªŽÀ‘ª‚µ‚½ŽžŠÔ‚æ‚è‚à’Z‚­‚È‚Á‚Ä‚¢‚Ü‚µ‚½B
‚±‚Ì·•ª‚͉½‚É‹Nˆö‚·‚é‚à‚̂Ȃ̂łµ‚傤‚©H

59:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/02 22:57:07
>>58
cputime ‚Æ usertime ‚Ì·H

60:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/02 23:12:30
>>57
URLØÝ¸(www.moongift.jp)
‚±‚ê‚Æ‚©‚Ç‚¤‚¾‚낤

61:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/03 05:05:32
gcc‚ÅA‚Ý‚½‚¢‚É‘‚­‚Æstrict@aliasing@rulesŒx‚³‚ê‚é‚ñ‚ÅA
B‚Ý‚½‚¢‚É‘‚¢‚½‚ñ‚¾‚¯‚ÇA‚±‚ê‚Á‚ij‚µ‚¢A‚Æ‚¢‚¤‚©A
-fno-strict-aliasing‚ðŽw’肵‚½ê‡‚Æ“¯‚¶ˆÓ–¡‚ɂȂé‚Á‚Ä•ÛØ‚³‚ê‚Ä‚éH

struct@Vec@{@int@x,@y,@z;@};
int@@data[3][3]@=@{{0,1,2},{3,4,5},{6,7,8}};
int@main()@{
@@Vec*@v0@=@(Vec*)data;@//@A@Œx‚³‚ê‚é
@@Vec*@v1@=@(Vec*)(void*)data;@//@B@Œx‚³‚ê‚È‚¢
@@return@0;
}


62:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/03 06:37:25
ŒxŽc‚µ‚½•û‚ªŒãX‚ׂ̈ɗǂ¢‹C‚à

63:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/03 06:39:24
>>61
Šî–{“I‚Éstrict aliasing rule‚ɑ΂·‚éˆá”½‚Í
ƒLƒƒƒXƒg‚Å‚Í‰ðŒˆ‚Å‚«‚È‚¢‚ÆŽv‚Á‚½•û‚ª‚¢‚¢

‚¶‚á‚ ‚Ç‚¤‚·‚ê‚΂¢‚¢‚ÌH‚Á‚ĂƂ±‚ë‚Å‚Í
GCC3.3.0ˆÈã‚È‚ç__attibute__((may_alias))‚Á‚Ä‚¢‚¤‚Ì‚ª‚ ‚é

‚¯‚ÇA‚»‚̃R[ƒh‚̓_[ƒeƒB‚·‚¬‚é‚©‚ç‚»‚±‚©‚ç’¼‚µ‚½•û‚ª‚¢‚¢

64:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/03 09:35:07
namespace‚Ƃ͂ǂ¤‚¢‚¤‚Æ‚«‚ÉŽg—p‚·‚é‚̂ł·‚©H

65:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/03 09:42:43
>>64 –¼‘OՓ˂̉”\«‚ðŬŒÀ‚É‚µ‚È‚ª‚çA–Ê“|‚ȃvƒŠƒtƒBƒbƒNƒX•t‚¯‚à‚µ‚½‚­‚È‚¢‚Æ‚«B

66:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/03 10:13:04
‚ß‚ñ‚Ç‚¤‚Á‚Ä‚¢‚¤‚¯‚Ç
std_hoge‚àstd::hoge‚à•Ï‚í‚ç‚Ë[‚æ

67:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/03 10:24:18
‚¶‚á‚ ƒCƒ“ƒeƒŠƒZƒ“ƒX‚ňꗗ•\ަ‚³‚¹‚½‚¢ê‡

68:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/03 10:34:05
>>66
‚½‚Æ‚¦‚Ί֔ hoge ‚Ì錾‚â’è‹`‚Å“¯‚¶–¼‘O‹óŠÔ‚É‚ ‚é–¼‘O‚ð‰½“x‚àŽg‚¤‚±‚Æ‚ðl‚¦‚邯
˜b‚ªˆá‚Á‚Ä‚­‚é‚Í‚¸B

std_result std_hoge(std_arg1 a1, std_arg2 a2)
{
@ std_detail d;
@ std_impl(d, a1, a2);
}

namespace std {
result hoge(arg1 a1, arg2 a2)
{
@ detail d;
@ impl(d, a1, a2);
}
}

69:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/03 10:43:42
DQN“IƒvƒƒOƒ‰ƒ~ƒ“ƒO‚Énamespace‚Í•s—v

70:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/03 11:32:37
DLL‚Æ‚©‚ŃGƒNƒXƒ|[ƒg‚·‚邯‚«‚Ɏז‚‚È‚ñ‚¾‚æ–¼‘O‹óŠÔ
‚¢‚¿‚¢‚¿ƒ‰ƒbƒv‚µ‚È‚¢‚Æ‚¢‚¯‚È‚¢

71:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/03 11:42:06
ƒNƒ‰ƒX“à‚Ì•¡”‰ÓŠ‚Åstd::out_of_range("“K“–‚ȃGƒ‰[ƒƒbƒZ[ƒW")
‚±‚̂܂ܕ¶Žš—ñƒŠƒeƒ‰ƒ‹‚ªƒR[ƒhŠeŠ‚ÉŽU‚ç‚΂é‚̂͋CŽ‚¿ˆ«‚¢‚Ì‚Å

‚PD‚ ‚ç‚©‚¶‚߃Gƒ‰[ƒƒbƒZ[ƒW‚ðƒƒ“ƒo•Ï”‚ÉŽ‚½‚¹‚Ä‚¨‚­
‚QD—áŠO‚𓊂°‚郃“ƒoŠÖ”‚ð—pˆÓ‚·‚é
‚RDstd::out_of_range("“K“–‚ȃGƒ‰[ƒƒbƒZ[ƒW")‚ðƒ}ƒNƒ’è‹`‚µ‚Ä‚¨‚­

‚ǂꂪƒXƒ}[ƒg‚È•û–@‚Å‚µ‚傤‚©H

72:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/03 11:54:58
‰´‚̓}ƒNƒ‚©‚È‚Ÿ
const•¶Žš—ñ‚É‚µ‚Ä‚à‚¢‚¢‚¯‚ǃ}ƒNƒ‚Ì‚ªŠy‚¶‚á‚í‚¢

73:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/03 12:09:13
void check_range(int min, int max, int value) {
if (value < min || value > max) throw std::out_of_range("`");
}

74:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/03 12:14:27
>>73
‚»‚ê‚¶‚á‚Ç‚±‚©‚çƒGƒ‰[o‚½‚©“Á’è‚Å‚«‚È‚¢‚¶‚á‚ñ

75:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/03 12:18:23
‚ǂ݂̂¿—áŠO‚És”Ô†î•ñ‚͊܂܂ê‚È‚¢‚©‚çAŒ³‚©‚ç“Á’è‚Å‚«‚È‚¢‚ÆŽv‚¤‚¯‚Ç

76:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/03 12:28:21
__FILE__‚Æ__LINE__‚ðƒpƒ‰ƒ[ƒ^‚Å“n‚¹‚΂¢‚¢

77:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/03 14:24:53
•ʂɉ½‚à‘Îô‚Í‚µ‚È‚¢‚È
‚»‚ê‚Å–â‘肪o‚é‚킯‚¶‚á‚È‚¢‚µ

78:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/03 15:43:49
C++ ‚ÅŒp³•s‰Â”\‚ȃNƒ‰ƒX‚ð錾‚·‚邱‚Ƃ͂ł«‚Ü‚·‚©H
C# ‚â Java ‚Ì static class ‚Ý‚½‚¢‚ÉB

79:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
10/02/03 15:49:27
Žc”O‚È‚±‚Ƃɂł«‚Ü‚¹‚ñ
(C#‚âJava‚Ìsealed‚âfinal‚Ì‚±‚Æ‚¾‚æ‚ËH)
‰¼‘zŠÖ”‚É‚ ‚½‚é‚à‚Ì‚Évirtual‚ð•t‚¯‚È‚¢‚±‚Æ‚Å
‚±‚êˆÈãŒp³‚µ‚È‚¢‚Å‚ËA‚Æ‚¢‚¤ˆÓŽv•\ަ‚É‚·‚邱‚Æ‚®‚ç‚¢‚µ‚©
Œ»ó‚Å‚«‚È‚¢‚ÆŽv‚¤
‚½‚¾AŽŸŠúC++‚¾‚Æ‚½‚Ô‚ñ‚ ‚é‚ñ‚¶‚á‚È‚¢‚©‚È

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



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

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