ySҜ}zC/C++ ..
39:ftHgÌŒ³µ³ñ
07/09/28 17:27:12
vO©çMSXMLðgpµÄ[JiC:\.....\foo.xmljÌXMLt@CðÇÝÝœ¢ÌÅ·ª
Ç€àloadÖÅžsµÄµÜ¢Ü·B
#import "msxml.dll" named_guids raw_interfaces_only
using namespace MSXML;
MSXML::IXMLDOMDocumentPtr pDoc;
HRESULT hr = pDoc.CreateInstance(MSXML::CLSID_DOMDocument);
pDoc->put_async(VARIANT_FALSE);
VARIANT_BOOL f;
hr = pDoc->load(_variant_t(L"C:\\Documents and Settings\\.........\\foo.xml"), &f);
±ÌXMLt@CÌpXÉÀÛWebãɶݷét@Cðw赜çloadͳíÉXMLðæŸoܵœBiURLØÝž(......)j
[JÉ éXMLt@CðÇÝÞÉÍœ©ÁêÈðµÈ¯ê΢¯È¢Ìŵ倩H
«ÍWinXPÅVisual Studio 2005 Pro EditionÅ·B
40:35
07/09/28 17:32:10
>36>38
èªÆ€²Ž¢Ü·A©èܵœ
41:ftHgÌŒ³µ³ñ
07/09/28 18:05:32
>>35
2.É¢ğªAÊͱ€B
std::string line;
while (std::getline(ifs, line)) {
@@:
}
µ©µA>>35ÌR[hÅÍÇsÇÝ·é±ÆÉœÌÓ¡àÈ¢R[hÉ
ÈÁÄ¢éB
»à»à»€¢€êÍstd::getline()ðg€×«ÅÍÈ¢Ÿë€B
42:ftHgÌŒ³µ³ñ
07/09/28 18:07:12
>>39
load()Å[Jt@CðÊÉæßœÆv€ªB
MSXMLÌo[WÉàæéÌ©àmêñªB
»êÆ»ÌpXÍÈÉâçÓUL¢ÈB
argvÅànµÄAJgÌpXâÎpXAâÎpXA¿ðÜÞàÌ
ÜÜÈ¢àÌAFXÀ±`B
43:ftHgÌŒ³µ³ñ
07/09/28 18:09:05
}WWindowsAvƩڵ¢zžh·éº
ñȪ©èÉ¢àñ@C++Ìïµ³æèà
CuoŠéŸ¯ÅåÏ»€
44:ftHgÌŒ³µ³ñ
07/09/28 18:13:44
>>42
"C:\\foo.xml"ŵÄÝܵœª³ÅµœB
SetCurrentDirectory()ÅxmlÌ éfBNgÉÚ®µÄÎpXÅÌwèàµÄÝܵœB
o[WÉæéá¢àê²×ÄÝÜ·B
45:ftHgÌŒ³µ³ñ
07/09/28 18:19:26
>>43
ñÈÉcåÉ éAPIðSÃLµÄéz͢ȢŸë€
ÖÌŒOoŠÄœÁÄAøÌÀÑŸÌœŸÌoŠ«êËŠæ
»êÉÇg¢Üí·ÍŽCu»·éÈèRsy·éÈè
¢¿¢¿ê©ç©ñŸë
46:ftHgÌŒ³µ³ñ
07/09/28 18:19:58
file://@Æ©ÍH
47:ftHgÌŒ³µ³ñ
07/09/28 18:22:42
>>43
¡ÍÙÆñÇÇÌ¢EÉsÁÄàAŸêdlæèCuoŠéûªåÏŸæ
48:ftHgÌŒ³µ³ñ
07/09/28 18:25:17
>>46
file://Ì«ûÍ
file:///C:/foo.xmlÅ ÁÄéŵ倩H ÜèڵȢàÌÅEEEB
tH_ÌAhXo[Éfile://Æü͵ÄoÄ«œâÂð»ÌÜÜgÁÄÝܵœB
ÅàAâÍè[hÅžsµÄµÜ¢Ü·Bxmlt@C©ÌÉâèª é©AMSXMLÌo[WÌâèÈÌ©EEE
49:ftHgÌŒ³µ³ñ
07/09/28 18:26:47
>>48
t@CÉâèª é©Ç€©Øèª¯œ¯êÎAURLzµÅ[hÅ«œ
t@Cð[JÉÆµÄ¹Î¢¢ŸëB
50:ftHgÌŒ³µ³ñ
07/09/28 18:33:30
>>49
Web©çxmlt@CƵÄ[JŵœÆ±ëload·é±ÆªoܵœB
Ç€â穪Ìxmlt@CÉâèª Áœæ€Å·B
xmlt@CÌgð©ä×ÄÝÄŽöðTÁÄÝÜ·B
51:ftHgÌŒ³µ³ñ
07/09/28 18:33:49
>>47
I[vnÍ»€Å·Ë
gÝÝÍ»€ÅàÈÄAÉC++ÉWÅ«»€
52:ftHgÌŒ³µ³ñ
07/09/28 18:34:53
IXMLDOMDocument::loadÍAIStreamÈñŒàó¯t¯éçµ¢©çA
SHCreateStreamOnFileÅàgÁÄXg[»µœçÇ€Ÿë€H
53:ftHgÌŒ³µ³ñ
07/09/28 18:35:42
Ç€âç¶R[hªŽöŸÁœÝœ¢Å·B
©ìÌxmlÍShift_JISÅA³íÉÇÝßéûÌxmlÍUTF-8ÅÛ¶³êœàÌŵœB
ÈñÅShift_JISÅ_ÈÌ©Íæª©èܹñªAÆè ŠžUTF-8űÆÅâÁÄ¢«œ¢Æv¢Ü·B
èªÆ€²Ž¢ÜµœB
54:ftHgÌŒ³µ³ñ
07/09/28 18:38:16
XMLéŸÅGR[fBOðwè·êÎA
Shift_JISÍó¯t¯ÄêéÆv€AMSXMLÈçB
55:ftHgÌŒ³µ³ñ
07/09/28 18:39:41
>>53
ùÉC/C++ÌbèÅàœÅàÈ¢ª
XMLt@CÅ«Ìæ€É¿áñÆGR[fBOÍwèµÄé©H
<?xml version="1.0" encoding="Shift_JIS"?>
56:ftHgÌŒ³µ³ñ
07/09/28 18:42:11
«˶Ʃ}Wí©ñËŠ
XMLÈñÄŸtµ©mçñ
57:ftHgÌŒ³µ³ñ
07/09/28 18:50:03
>>53
HRESULTÌ»èðµÄȢ̪¢©ñÌŸÈB
»ÌÓªoÈ¢Èç@raw_interfaces_onlyÍg€ÈæB
58:ftHgÌŒ³µ³ñ
07/09/28 19:17:04
>>54-55
ÎÛÌXMLt@CÉÍ¿áñÆ
<?xml version="1.0" encoding="Shitf_JIS" ?>
ÆæªÉLq͵ĢܵœBÜ·Ü·ª©çȢŷ¯ÇA
൩µœçŽÌ«ªÇ±©ÁêÈÌ©àµêÈ¢ÌÅiÜœÍSRÖWȢƱëÌG[jA
ÜèYÜêÈ¢ûª¢¢©àµêܹñ
59:ftHgÌŒ³µ³ñ
07/09/28 19:43:41
>>58
MSXMLª¿áñÆG[bZ[WªÔµÄé©ç»êÝèáí©éÁÄB
G[bZ[WÌæèoµûí©ÁÄéH
60:ftHgÌŒ³µ³ñ
07/09/28 19:50:46
>>58
Shitf_JIS
µÆÓE¶·
61:ftHgÌŒ³µ³ñ
07/09/28 20:01:36
>>60
V˶áËH
62:ftHgÌŒ³µ³ñ
07/09/28 20:27:36
eNXÌfXgN^ÉÇðó·ðüêÄéñÅ·ª
±€¢€g¢ûÍÇȢƷ«Üµœ
Ç€µÄÅ·©H
ŸÆµœç©ªðóµÄÇð󷿀ÈÍDZɯ΢¢ñÅ·©H
æí©çÈÈÁœÌųŠÄº³¢
63:ftHgÌŒ³µ³ñ
07/09/28 21:07:08
>>62
ÊñµÜ·œ
64:ftHgÌŒ³µ³ñ
07/09/28 21:26:46
¢â¢â¢â
Q[ÌACeÌbÅ·æH
65:ftHgÌŒ³µ³ñ
07/09/28 21:44:40
>>62
RFNXÌ_¹Èíêé
uCX^XÌjóÉKžÄÎêév
š³¹žÉeðÁ·éÆ«àjó»è³¹éCH
ufXgN^ÍøÆêÈ¢v
šíŽíŽjóÎÛÌÇÌîñðŒÌNXÉâ¢í¹éí¯H
»êÈ穪ª(explode\bh)·éÁÄîñŸ¯ŒÌNXÉÁÄ
»êÈOÌÍŒÉC¹éæ€ÉµœûªÓCÌݪŸmÉÈÁÄ
ÜŸÇ¢ÝvÉÈéÆvíÈ¢H
Žªv¢ÂÌÍÆè Šž±ñÈ
66:682
07/09/29 00:47:46
001.ppm
002.ppm
E
E
xyz.ppm
Æ¢€àeÌt@CXg©çgetlineÅæŒðÇÝÝA
»êŒêÌæÌJ[qXgOð«oµÄ¢Æ¢€
vOð쬵ĢܷB
êxÉ·éæªñ200ÜÅÈçγíÉ®ì·éÌÅ·ªA
êxÉ·éæª300OãÉÈéÆAOSª}ÉÅÜèR\[É
§I¹Æ\гêÄAvOªI¹µÄµÜ¢Ü·B
ȺACÌ\[XÌê
ifstream filelist
While(!filelist.getline(filename, sizeof(filename)).eof()) {
Image24 test_image;
±±çÖñÅlXÈ
}
±ÌáÌêA[vÅtest_imageªéŸ³êéxÉ
fXgN^ÍÄÑo³êéÌŵ倩HifXgN^Åððú·éÍ¢ÄÜ·j
·¶Å·ªæëµšè¢µÜ·B
67:ftHgÌŒ³µ³ñ
07/09/29 00:54:53
>>66
fXgN^ÍÄÎêÜ·B
À±µÄÝèáêÈÌÉEEE
68:ftHgÌŒ³µ³ñ
07/09/29 01:18:09
>>66
Æè ŠžAbvµÄé\[XÌÍÍÍâèȵB
fXgN^ÌJúÉRêâëèª é©A
u±±çÖñÅlXÈv@Éâèª éÆv€B
LoadImageµÄDeleteObjectµÄȢƩALD_SHAREDµÄ鯩B
69:66
07/09/29 01:54:27
>>67, >>68
èªÆ€²Ž¢Ü·B
üèÌðà€êxOêIÉ©ŒµÄÝÜ·B
70:ftHgÌŒ³µ³ñ
07/09/29 02:26:26
int^ð¶ñÌ^ÉÏ··éÖÁÄ èÜ·©H
71:ftHgÌŒ³µ³ñ
07/09/29 02:33:56
CÈçsprintf,@snprintf
C++ÈçiÖÅÍÈ¢ªjstd::ostringstream.@boost::lexical_cast
72:ftHgÌŒ³µ³ñ
07/09/29 02:41:40
èªÆ€²Ž¢Ü·
73:ftHgÌŒ³µ³ñ
07/09/29 20:18:04
class string_ex : public std::string
{
@@funcA();
@@funcB();
}
Ìæ€Éstd::stringðg£µÄstd::stringÌ@\ð»ÌÜÜÉ
¶ñìðs€ÖðVœÉÇÁµœNXðìèܵœ
string_ex ex;
std::string str;
ex = str;
Æ¢€ìðúÒµœÌÅ·ªRpCG[ªoĵܢܷ
œ©Ç¢û@Í èܹñ©H
74:ftHgÌŒ³µ³ñ
07/09/29 20:51:03
ãüZªÈ¢Ÿ¯ÅÍH
75:ftHgÌŒ³µ³ñ
07/09/29 20:55:57
m©std::stringÍp³³êéðOñÉìçêÄȢ͞
â߯¢œûª¢¢ñ¶áË
fXgN^àŒz¶áÈ¢µ
76:ftHgÌŒ³µ³ñ
07/09/29 21:06:33
>>74-75
èªÆ€²Ž¢Ü·
»€Å·©AXbLµÄÇ¢ÆvÁœÌÅ·ªcOÅ·
77:ftHgÌŒ³µ³ñ
07/09/29 21:08:52
RXgN^ªÈ¢©çstd::string©çstring_exÉϷūȢB
œŸµA>>75ÌwEÊègpÉÛµÄÍÓªKvB
78:ftHgÌŒ³µ³ñ
07/09/29 21:14:51
Rs[ãüZqÆRs[RXgN^ª³¢ÌªŽöŸÈ
#include <string>
struct A : public std::string {
@@A(){}
@@A(const A&){}
@@A& operator=(const A&) { return *this; }
@@A& operator=(const std::string&) { return *this; }
};
int main() {
@@A a;
@@std::string b;
@@a = b;
}
Æè Šž±ñÈŽ¶Å»êçðpÓµÄâêÎÊéA¯ÇâÁ¿á¢¯È¢æ±ñÈ
basic_stringÌJIX³Ážðǀɩµœ¢CÍí©çñÅàÈ¢¯Ç
79:ftHgÌŒ³µ³ñ
07/09/29 21:32:11
Ç€âçstd::stringðMéÌÍÖ¶èÌæ€Å·Ë
³ÉoÖɵȢÅt[̶ìÖɵܷ
¢ë¢ëÆ èªÆ€²Ž¢Üµœ
80:ftHgÌŒ³µ³ñ
07/09/29 21:57:56
Žà¯¶±ÆâÁÄéB
RXgN^AãüZqA œèðSìçȢƢ¯È¢ãÉAconst / ñconsţ䪩ÈèÊ|B
Åàâ蜢æËcBwp[ìÁÄÎÁ©ŸÆAÈñÌœßÌIuWFNgwü©ª©çÈ¢µB
81:ftHgÌŒ³µ³ñ
07/09/29 22:21:44
>>73
ŒzfXgN^ðœÈ¢stringâReiÈÇ©ç
h¶NXðìéUfɯéÈ@by@XRbgEC[Y
82:ftHgÌŒ³µ³ñ
07/09/30 08:03:16
#include <stdio.h>
main()
{
int i;
int b;
int c;
int d;
printf("ÅÌðüêÄŸ³¢(Œp)=>");
scanf("%d", &i);
printf("ÈÉZð·é©üêÄŸ³¢( / * - + )=>");
scanf("%s", &b);
if(b = /){
printf("éðüêÄŸ³¢=>");
scanf("%s", &c);
d = i / c;
}else if(b = *){
printf("q¯éðüêÄŸ³¢=>");
scanf("%s", &c);
d = i * c;
}else if(b = +){
printf("«·ðüêÄŸ³¢=>");
scanf("%s", &c);
d = i + c;}else{
printf("øðüêÄŸ³¢=>");
scanf("%s", &c);
d = i - c;}
printf("%d\n",d);}
±êÅàÌ·²¢š¢ÅRpCG[f©êÜ·
SÒÆ¢€€©©l©^ÅÂÁœÌÅDZªŸß©G[©œŸ¯¶áí©çÈ¢
ÌÅDZªš©µ©³ŠÄŸ³éƀ굢ŷ
83:ftHgÌŒ³µ³ñ
07/09/30 08:06:56
œZ·é©Æ¢€Æ±ëÅA
+-/*Æ¢€lÅÈ¢àÌðü굾ۮŸ€ÌÉ
intÆ¢€lðµ€^ÅÇÝà€ÆµÄ¢é̪¢¯È¢B
bÍchar^ɵA%cÅÇÝß΢¢B
»µÄAif@(b@==@'/')@{Ìæ€É·éB
84:ftHgÌŒ³µ³ñ
07/09/30 08:08:30
>>83
intÍlŸÁœñÅ·©G
¢ë¢ëªñÎÁÄÝÜ·
85:ftHgÌŒ³µ³ñ
07/09/30 08:11:39
intÍinteger̪B
86:ftHgÌŒ³µ³ñ
07/09/30 10:06:21
>>82
ERpCG[ªœ³ñoÄàÅéÈBæªÌ1©çÉÁµÄ¢¯Î¢¢B
E©æ€©ÜËÅìÁœÈçG[oÄRBÜžÍà€µ©ªÅð·éwÍðµÄ©çlÉ·¯B
ElÉ·ÈçAÇñÈG[ªoœÌ©®ç¢Í׫B
87:ftHgÌŒ³µ³ñ
07/09/30 10:43:22
>84Üžüå©üåTCgÅ
88:ftHgÌŒ³µ³ñ
07/09/30 11:42:09
_typeof, __typeof
Ýœ¢ÉOÉA_[o[ð1Â2Ât¯éÌÍ
\ñL[[hÆÕË·éš»êª éÌÅð¯é׫絢ŷªA
typeof_, typeof__
Ýœ¢ÉãëÉt¯éÈçškŵ倩H
89:ftHgÌŒ³µ³ñ
07/09/30 12:23:07
A_[XRAª2±ÌÍæªÅàrÅàÅãÅàŸß
90:ftHgÌŒ³µ³ñ
07/09/30 12:49:51
template<typenamt t, typename sig> class test;
template<typenamt t, typename result, typename arg> class test<t, result (t::*)(arg)>{ result r; };//resultªvoidŸÆG[ÉÈéÌÅ
template<typenamt t, typename arg> class test<t, void (t::*)(arg)>{};//Á껵œ¢
ñÅ·ªARpC©çÍuÁê»Å«È¢vÆG[ÉÈèÜ·B
øÌªíÁÄé̪_ÈÌ©Æv¢A
template<typenamt t, typename sig, typename dammy1, typename dammy2> class test;
template<typenamt t, typename result, typename arg> class test<t, result (t::*)(arg), void, void>{ result r; };
template<typenamt t, typename arg> class test<t, void (t::*)(arg), void, void>{};
ƵÄàâÍè_ŵœB
91:(90)
07/09/30 12:50:52
¿ÈÝÉ㺀ɯ¶G[Åe©êÜ·B
92:(90)
07/09/30 13:03:41
ãÒɵœ€ŠÅA
template<typenamt t, typename arg> class test<t, void (t::*)(arg), void, void>{};
ð
template<typenamt t, typename arg> class test<t, void, arg>{};
Ƶtemplate<typenamt t, typename result, typename arg> class testÌÁê»ð_ÁÄà
uev[gøÌªÈ·¬Ü·vÆ_ŵœB
93:ftHgÌŒ³µ³ñ
07/09/30 13:04:35
¿åÁÆ¿âB
wb_ðCN[h·éAt@CŒŸ¯wèµÄCN[hpXÅõ·éû@ÆA
CN[hpXðÀèµÄAÎpXÅt@Cðwè·éû@ÆÅÍÇ¿çªêÊIŵ倩H
wb_ª100ߢtH_ÉUݵĢéÆOÒÆãÒÌÇ¿çðKp·×«©»fªÂ«Ü¹ñB
ŒÌvWFNgÅÞ·éP[XÅÍÇÌæ€ÉµÄ¢éÌ©·¢ÄÝœ¢ñÅ·ªB
¿ÈÝÉwb_t@CÌÚ®ÍÈ¢±ÆðOñƵĢܷB
94:ftHgÌŒ³µ³ñ
07/09/30 13:04:48
int main(){
()
return 0;
}
œÅ0ðÔ·ñÅ·©H
1ÅÍ_ÈÌÅ·©H
95:ftHgÌŒ³µ³ñ
07/09/30 13:20:19
>>94
¢¢æ`
I¹R[hÌg¢ûÍn˶Ÿ¯ÇAêÊIÉÍ
0ª³íI¹AG[âxª êÎ1ÈãÌðԷ̪µáB
96:ftHgÌŒ³µ³ñ
07/09/30 13:25:37
>>90
gcc 3.4.4 ŸÆÊÁœB Úµ¢±ÆÍðçñ¯ÇA»êŸ¯ñB
#include <stdio.h>
template<typename t, typename sig> class test {
public: static void foo(){ printf("foo\n"); }
};
template<typename t, typename arg> class test<t, void (t::*)(arg)> {
public: static void foo() { printf("bar\n"); }
};
class X{};
int main()
{
test<int,int>::foo();
test<X, void(X::*)(int)>::foo();
}
97:ftHgÌŒ³µ³ñ
07/09/30 13:48:55
>>93
KÞKB
»Ìœ³ñÌfBNgªÝɳÖWÈç»êŒêpXwè·éµ©È¢Æv€B
»€ÅÍÈA éöx€ÊÌfBNgÌɪUµÄ¢éÌÈçA€ÊðpXwèµÄ
cèÍt@CŒÅLq·ê΢¢Ÿë€B
áŠÎA±ñÈŽ¶B
--
/home/who/someProject/include/catA/inc1.h
/home/who/someProject/include/catA/inc2.h
/home/who/someProject/include/catA/inc3.h
/home/who/someProject/include/catB/inc4.h
/home/who/someProject/include/catC/inc5.h
±ñÈCN[ht@Cª éÈçA
#include "catA/inc1.h"
#include "catA/inc2.h"
#include "catA/inc3.h"
#include "catB/inc4.h"
#include "catC/inc5.h"
ÆLqµÄpXwèÉ$HOME/someProject/includeðÇÁB
98:ftHgÌŒ³µ³ñ
07/09/30 14:07:02
>>90
RpCÍœðgÁÄ¢éB
ÜœA»à»àœðµœ¢H»êæÅÍÊÌèiª é©àµêÈ¢B
99:ftHgÌŒ³µ³ñ
07/09/30 14:16:00
>>90
#include <stdio.h>
#include <boost/type_traits.hpp>
class test1 {
public: static void foo() {printf("test1\n"); }
};
template<typename t, typename result, typename arg>
class test2 {
public: static void foo() {printf("test2\n"); }
};
template<typename t, typename arg>
class test3 {
public: static void foo() {printf("test3\n"); }
};
namespace detail {
template<typename t, typename sig> struct selector {
@typedef test1 type;
};
template<typename t, typename result, typename arg> struct selector<t, result (t::*)(arg)> {
@typedef typename boost::mpl::if_<boost::is_void<result>, test3<t,arg>, test2<t,result,arg> >::type type;
};
}
int main(int argc, char *argv[]) {
@detail::selector<test1,void>::type::foo();
@detail::selector<test1,int(test1::*)(int)>::type::foo();
@detail::selector<test1,void(test1::*)(int)>::type::foo();
@return 0;
}
100:ftHgÌŒ³µ³ñ
07/09/30 14:18:29
»à»à>>90Ìresult@r;ÁÄA
RpC³ŠâèÈAµ©àrªvoid^ÈçA
<t,@void@(t::*)(arg)>ÈñÄÁê»Í
svŸÆvÁœÌŸªá€Ì©H
101:ftHgÌŒ³µ³ñ
07/09/30 14:20:32
>>93
CN[hpXÉÍ Ü貿ᲿáÜܹȢ±Æª]ܵ¢B
CN[hpXÉÜÜêéwb_ÌŒOÍÀ¿VXeO[oŸ©çÈB
sVÌ¢¢â詜ÍA>>97Ìæ€ÉACN[hpXŒºÉwb_ð
u©žAW
[ŸÌCuŸÌpÌfBNgð@èA»ÌºÉ
wb_ðüê鱯ŸB
»€·é±ÆÅAõ·éŒOðfBNgŒŸ¯ÉÀèÅ«A
ŒOÌÕËðñðµâ·ÈéB
Ü_A±êÉÍCN[hpX̺ð ÜèÆÁ¿ç©ç¹žÉA®®ÚÅ«é
Æ¢€bgà éB
102:ftHgÌŒ³µ³ñ
07/09/30 14:28:50
boostÝœ¢ÉÀÚ×Ìwb_ðhoge/datail ÉüêÄšÆ
OöJ·éwb_ÆvCx[gÈwb_ðª¯çêĀ굢
103:ftHgÌŒ³µ³ñ
07/09/30 14:32:36
svnÌboost::function_typesÈçÖÌ^©çAßèlâøðæèŸ¹é©ç
»êÆenable_ifÅÁ껵Äâéû@à é
#include <iostream>
#include <boost/function_types/result_type.hpp>
#include <boost/type_traits.hpp>
#include <boost/typeof/typeof.hpp>
#include <boost/utility.hpp>
void func_v() {}
int func() { return 0; }
template <
@@typename sig
@, class Enable = void
> struct C { void f() { std::cout << "func\n"; }@};
template <typename sig>
struct C< sig
@@@ , typename boost::enable_if<
@@@@@@ typename boost::is_same<
@@@@@@@@ typename boost::function_types::result_type<sig>::type
@@@@@@@ , void>::type>::type
@@@@ >
{ void f() { std::cout << "void func\n";} };
int main() {
@@C< BOOST_TYPEOF(func_v) >().f();
@@C< BOOST_TYPEOF(func) >().f();
}
104:ftHgÌŒ³µ³ñ
07/09/30 14:34:33
€Ö
dÅÍoȢ^CvÌR[hŸÈcc
Ÿ©çC++Í(ry
105:ftHgÌŒ³µ³ñ
07/09/30 14:34:45
boost~œß¬
106:ftHgÌŒ³µ³ñ
07/09/30 14:39:40
boostͲÉgŠÄé_ÅÍ¢¢ñŸ¯ÇA
oOÁœè·éÆà€šèã°
107:ftHgÌŒ³µ³ñ
07/09/30 14:45:56
»ÌoOð©ÍÅŒµÄö®ÉœfÅ«œèA
»±©çVµ¢g¢ûð©Å«éöÉÈèœÐ
108:ftHgÌŒ³µ³ñ
07/09/30 17:23:09
>>97
>>101
X èªÆ€²Ž¢Ü·B
©ªà³Œ²¿á²¿áµœCN[hpXðæèÍ
vWFNgÌ[gpXðêÂwè·éæ€È«ûª]ܵ¢ÆvÁÄ¢éÌÅA
»ÌûüŲ®µÄs«œ¢Æv¢Ü·B
œŸADÝÌâèöxÉ µçíêÈ¢©sÀÅÍ èÜ·ªB
109:(90)
07/09/30 17:29:01
gÁÄ¢éRpCÍvisual C++ 2005Å·B
oÖðÁê»ÅÔèlANXAøð»êŒêÁ껵œãÉ
àÉìÁÄš¢œNXðg¢ÔÚIÉÔèlðÁ껵œçRpCªÂ\ÉÈèðµÜµœB
110:ftHgÌŒ³µ³ñ
07/09/30 17:40:52
I[o[[hÉ¢Ŀâ
int Func(int a=NULL);
string Func(string a="");
±ñÈŽ¶Åøª³¢êÉßèlÌ^ÉæÁÄ
ÖªI[o[[h³êéÌðúÒµÄÝܵœª
RpCG[ªoĵܢܵœ
±Ìæ€ÈêÖŒðϊ鵩³¢Ìŵ倩H
111:ftHgÌŒ³µ³ñ
07/09/30 17:45:01
>>110
ßèlÌ^ÅI[o[[hÍūܹñB
|C^¶áÈ¢àÌÉ NULL ðgÁ¿áŸßÅ·B
112:ftHgÌŒ³µ³ñ
07/09/30 17:54:37
>>111
èªÆ€²Ž¢Ü·
113:94
07/09/30 18:43:55
>>95
èªÆ€²Ž¢ÜµœB
114:ftHgÌŒ³µ³ñ
07/10/01 02:02:40
int x = 4896;
int y = 1406;
double z = y/x;
Åzª0ÉÈÁĵ܀ÌÅ·ªA
±êð0.28....
ÆâéÉÍÇ€·êÎÇ¢Ìŵ倩?
115:ftHgÌŒ³µ³ñ
07/10/01 02:04:23
z = (double)y / x;
116:ftHgÌŒ³µ³ñ
07/10/01 02:47:24
íA èªÆ€²Ž¢Ü·B
ƱëÅAdouble>intÈÌÉ
ÈñÅãüÏ·³êÈ¢Ìŵ倩?
117:ftHgÌŒ³µ³ñ
07/10/01 02:51:35
z=y/xÆ¢€®ÍAÜžy/xªÀs³êéB
int/intÈÌÅÊÍintA±Ì_Åʪ0ÉÈéB
int^Ì0ðdouble^ÉãüµÄàR0ÉÈéB
(double)y/xÆ·é±ÆÅAyªdoubleÉÈè±Ì®ÌÊàdoubleÉÈéB
118:ftHgÌŒ³µ³ñ
07/10/01 02:51:59
int¯mÌ/ZÍint -> int -> intŸ©çAãü·é_Å·ÅÉ(intÌ)0ÈñŸæB
»êðdoubleÉÏ·µœÆ±ëÅA0.0ÉÈ韯³B
119:ftHgÌŒ³µ³ñ
07/10/01 02:55:02
ÈéÙÇA èªÆ€²Ž¢Üµœ!
120:ftHgÌŒ³µ³ñ
07/10/01 03:47:41
ZqÌDæÊÁÄzŸÈ
= æèà / ÌûªDæÊª¢
121:ftHgÌŒ³µ³ñ
07/10/01 03:54:49
=ÌDæxªœ©©Áœçg¢Éĵå[ªË[B
(z=y)/x Í~µ¢Ê¶áÈ¢ŸëHZÊÌÄÄéµÈw
122:ftHgÌŒ³µ³ñ
07/10/01 12:09:57
oÏðpublicoɵÄöJ¹žÉüoÍÖðpӷ׫Ɵ¢Ü·ª
»ÌÛÉüÍpÆoÍpÆQíÞìÁœûªÇ¢Ìŵ倩H
class Choge
{
private:
@std::string memo_;
public:
@std::string memo(const std::string& data = "")
@{@return (data.empty() ? memo_ : memo_ = data);@}
}
ãÌæ€ÉüoÍðÜÆß¿áÁœûªXbLµ»€ÈCª·éÌÅ·ª
µgbL[Èæ€ÅA±ñÈðµÄàǢ̩ÀÁÄÜ·
123:ftHgÌŒ³µ³ñ
07/10/01 12:12:09
>>122
»Ìoðóɵœ¢Æ«ÉÍÇ€·éñŸ?
»ñÈÈÌ édlÉ·éç¢ÈçAÊXÉìÁœûª¢¢±ÆÍ©ŸŸB
124:ftHgÌŒ³µ³ñ
07/10/01 12:25:17
>>122
»à»àAoðQƷ韯Ìmemo()ªconstoÖ¶áÈ¢©çg¢ï¢B
ÝèpÉñconstoÖAæŸpÉconstoÖðpÓ·éÈçAÅ©çÊXÉìê΢¢B
# áŠÎAvoid func(Choge const & hoge)ÈñÄÖ©çhoge.memo()ðÄ×È¢ÌÍÊ|ŸŒB
125:ftHgÌŒ³µ³ñ
07/10/01 12:54:48
>>123-124
ÈéÙÇB
âÁÏèÊXɷ׫ŷËB
èªÆ€²Ž¢ÜµœB
126:ftHgÌŒ³µ³ñ
07/10/02 07:37:48
ff5a_analyzer_src.zip (53 KiB)
ff5a_analyzer Ì\[XR[hÅ·BÜŸ¢®¬Å·B¶R[hÍ EUC-JPAüsR[hÍ LR ÆÈÁĢܷB
Æ éÌÅ·ª
URLØÝž(x11.s11.xrea.com)
±Ì\[XÌRpCÌdûÍÇ€âéÌŵ倩
OSÍXPÅ·
127:ftHgÌŒ³µ³ñ
07/10/02 07:38:20
ͶßܵÄA·¢Ü¹ñª¿â³¹ÄŸ³¢B
LinuxiTurnolinux FujijÅsys/systeminfo.hð
includeµÄSI_HOSTNAMEðgpµœ¢< sysinfo(SI_HOSTNAME`ðεœ¢ >ÌÅ·ªA
RpCÉsys/systeminfo.hªÈ¢ÆG[ªoͳêĵܢܷB
Ç€·êÎæ¢Ìŵ倩H²³öŸ³¢B
128:ftHgÌŒ³µ³ñ
07/10/02 07:44:19
T·Binclude·éB
129:ftHgÌŒ³µ³ñ
07/10/02 07:44:46
>>126
¿áñÆmakefileÜÅ¢Äé¶áÈ¢©
gccÝœ¢Ÿ¯ÇÊÉÙ©ÌRpCÅàåävŸë
130:ftHgÌŒ³µ³ñ
07/10/02 07:46:26
>>126
cygwinðüêÄAmakeÅÍǀŵå€B
>>127
systeminfo.hðTµÄÝœçǀŵå€B
131:ftHgÌŒ³µ³ñ
07/10/02 08:12:04
>>129
>>130
èªÆ€²Ž¢Ü·
ªñÎÁÄÝÜ·
132:ftHgÌŒ³µ³ñ
07/10/02 12:48:32
¿âÅ·B
INT_MIN`INT_MAXÌÍÍðŽŠé®ÌvZ𵜢ñÅ·¯Ç
Ç€µœçæ¢Ìŵ倩H
133:ftHgÌŒ³µ³ñ
07/10/02 13:02:56
>>132
URLØÝž(search.vector.co.jp)
134:ftHgÌŒ³µ³ñ
07/10/02 13:03:45
>>132
intæèàå«¢lðµŠé^ðg¢È³¢B
135:ftHgÌŒ³µ³ñ
07/10/02 13:34:03
èªÆ€²Ž¢Ü·
>>133
œ{·ÁÄ¢€ñÅ·ËB
OOÁÄÝÜ·BÈéש최¢ÌÅB
>>134
¿åÁÆv¢Â©È¢ñÅ·ªAáŠÎÇñÈ^ª èÜ·©H
tÌlªµŠé̪¢¢Å·B
±¿çÌ«ÍVC6Å·B
136:ftHgÌŒ³µ³ñ
07/10/02 13:41:24
INT_MIN`INT_MAXÌÍÍðŽŠé®ÌvZ𵜢ñÅ·¯Ç
嫎ŠÈ¢ÌÈç vc6 Èç __int64 ªgŠÈ¢±ÆàÈ¢B
iÈñ©ÁZÅoOÁœo± ÁÄÂlIÉÍŸ¯Çj
137:ftHgÌŒ³µ³ñ
07/10/02 13:43:20
>>135
C99Èçlong longàgŠéµA»€ÅÈÄàint64_tÈÇÌ^ª é©àµêÈ¢B
»êÉAdoubleÅàlong doubleÅࢢ©àµêÈ¢B
vÍAINT_MAXðŽŠéÆŸíêÄà嫳àKvžxà»çȯêÎÈñÆàµæ€ªÈ¢B
138:ftHgÌŒ³µ³ñ
07/10/02 15:38:16
>>135
WindowsŸÆ__int64 / unsigned __int64
139:132
07/10/02 16:13:46
>>136
»€¢ŠÎ»ñÈà̪ èܵœËBµÄÝÜ·BÇ€àÅ·B
(oOÁÄÇñÈoOŸë€)
>>137
VC6ÈÌÅC99ÈñÄεÄܹñB
žxÍ64rbgàvçÈ¢¯Ç32rbg¶á«èܹñB
__int64ŵÄÝÜ·B
140:132
07/10/02 16:14:33
>>138à èªÆ€
141:ftHgÌŒ³µ³ñ
07/10/02 16:23:33
>>139
32<Kvrbg<64ÈçAdoubleªxè ¶áÈ¢©B
ñWÌ^ðgíÈÄÏÞµB
142:ftHgÌŒ³µ³ñ
07/10/02 16:31:10
hoge.h hoge.cpp ÆíŽíŽQÂÌt@Cɪ¯éÌÍÇ€µÄÅ·©H
ãÅwb_t@C©Äðµâ·¢æ€ÉµÄ韯H
wb_ÉÀàÜßÄclassðLqµ¿áÁœûªyŸÆv€ÌÅ·ª
143:ftHgÌŒ³µ³ñ
07/10/02 16:34:35
»€v€ÌÈçA»€·êÎæëµ¢Åµå€B
ÀÛàANXÌÀÍCN[ht@CɱƪœÈÁĢܷB
144:ftHgÌŒ³µ³ñ
07/10/02 16:46:54
>>143
œ©âèÍÈ¢Ìŵ倩H
145:ftHgÌŒ³µ³ñ
07/10/02 16:58:17
>142ÉñгêœðŸ¯ÅÍâèª éÆàÈ¢Æà¢ŠÜ¹ñB
146:ftHgÌŒ³µ³ñ
07/10/02 17:03:12
wb_ÉÀR[hðÌÍš©µ¢
147:ftHgÌŒ³µ³ñ
07/10/02 17:05:19
PÉprivateÈoÏÌlÔ·Ÿ¯Æ©Èçwb_É¢¿á€B
148:ftHgÌŒ³µ³ñ
07/10/02 17:12:10
>>144
âÁÄÝÄâèȯê΢¢ñ¶áÈ¢
149:ftHgÌŒ³µ³ñ
07/10/02 17:13:53
SÄðéŸàɢĵ܀Ƣ€ÌÍAªRpCÌ_Ìúüɵ¢B
Ü}V¬ÈÁœ©çA»êࢢñ¶áÈ¢H
150:ftHgÌŒ³µ³ñ
07/10/02 17:17:49
>>145-149
èªÆ€²Ž¢Ü·
ªRpC
»€¢€Ó¡à éñÅ·Ë
151:ftHgÌŒ³µ³ñ
07/10/02 17:18:11
>>147
»€ä€ÌÍCCœÆ©ÌÍÍŸ©ç¢¢Æv€
152:ftHgÌŒ³µ³ñ
07/10/02 17:22:43
CCÍ¢¯Çœ³ñg€ÆÀst@Cªå«ÈéÝœ¢
153:ftHgÌŒ³µ³ñ
07/10/02 17:26:40
Ç€¹¡ÌRpCÍIuWFNgÔÅK»Å³îCCWJµœèà·éñŸ©çACÉ·éÙÇ̱ƶáÈ¢ŸëB
¢ÅÉŸŠÎAev[gNXŸÆÇ€¹ÀÍCN[ht@CɩȢƢ¯ÈÈéí¯ÅB
154:ftHgÌŒ³µ³ñ
07/10/02 18:38:32
switch - case Æ do - while É¢Ŀâ
ºLÌR[hŪÇÌæ€ÈÔÅsíêéÌ©³ŠÄŸ³¢B
æëµšè¢µÜ·B
int width = 15;
int n = (width + 3) / 4;
switch(width & 0x03) {
case 0: do { *buffer++ = 0
case 3: *buffer++ = 0;
case 2: *buffer++ = 0;
case 1: *buffer++ = 0;
} while(--n > 0);
}
155:ftHgÌŒ³µ³ñ
07/10/02 18:42:26
>>154
ŽÁ蟀ÆAwidthð4ÅÁœñŸ¯[v·éìèÉÈÁÄ¢éB
ÀÛÉÍA4ÅÁœ]èàµÈ¢Æ¢¯È¢ÌŻ̪ðÅÌ
switch©çÌcaseÖÌòÑÝÅdÁÄ¢éB
ÂÜèA»ÌáÅÍ15ÅX^[g·é©çñÍcase 3ÉòÑÞí¯ŸB
156:ftHgÌŒ³µ³ñ
07/10/02 18:45:00
esÉprintfÅà²ñÅÝêÎH
157:154
07/10/02 18:51:37
>> 155
Ç€à èªÆ€²Ž¢Ü·B
ñÉ case 3 ÉòÑÞÌÍðµÜµœB
QñÚÈ~ÍÇ€µÄ case 0 ` case 1 ÜÅ·×ÄÌðÊéÌŵ倩B
·¢Ü¹ñªAà€µÚµðàµÄŸ³¢B
>> 156
printf ð²ñÅ®ìÍmFµÜµœB
œŸAÇ€µÄ >> 155 ³ñÌæ€È®ÉÈéÌ©ðūܹñB
158:ftHgÌŒ³µ³ñ
07/10/02 18:54:16
ÅÉ@switch@ÅÇê©Ì@case@xÉòñŸãA@while@ÅðªUŸÁœê@do@Éßé
159:ftHgÌŒ³µ³ñ
07/10/02 18:57:26
൩µÄAbreak@ª³¢Æ»ÌÜÜÌ@case@ªÀs³êéÁıÆðmçÈ¢H
160:ftHgÌŒ³µ³ñ
07/10/02 18:58:11
¿ÈÝɱêÍDuff's@deviceÆ¢€ŒÅLŒB
161:ftHgÌŒ³µ³ñ
07/10/02 19:02:16
Ü œŸÌ»¡Å·¢Ä韯ŸÆv€ªê
caseÌãÉÍKžbreakt¯ë
gíÈÄàdefaultͯ
caseÍswitchXR[vÌŒºÉu¯A[vÌrɲÞÈñÄŸê¹f
Èã
162:155
07/10/02 19:08:41
>>154
qgðêÂBcasexÍswitchÈO©çÍüÌxɵ©©ŠÈ¢B
ÂÜèAswitch©çòÑñŸãͶݵȢà¯RB
ecasexðnèàRÉ¢ÄÍ>159Éà©êÄ¢éÊèAbreakµÈ¢ÆX[·éí¯ŸB
163:ftHgÌŒ³µ³ñ
07/10/02 19:12:30
ASYÌ¿âÈñÅ·ª
JIA165A24ÎANû500
TLA150A21ÎANû1000
^JVA180A18ÎANû200
OCA100A120ÎANûOetc
Æ¢€f[^ª ÁÄa*g·+b*Nî+c*NûÌlªêÔå«¢É\[gµœÆ«
Åà ¢€ŠšÉߢÀÑûÉÈéa,b,cÌlðT·vO𫜢̟ª
@œgß΢¢©©ªÂ«Ü¹ñB
³ŠÄŸ³¢B
164:ftHgÌŒ³µ³ñ
07/10/02 19:15:26
SÊèÌÀ×ûµÄÝÄ»êŒê ¢€ŠšÉߢ©Ç€©²×èᢢ¶áñ
ƱëÅ ¢€ŠšÉηéß³ÁÄœH
165:154
07/10/02 19:20:26
>>159
»êÍðµÄÜ·B
>>160
èªÆ€BFX²×ÄÙÚðūܵœB
>>161
©ªÅêÍ»€µÄ¢Ü·B
ÈÌÅAtÉ¡ñÌR[hªðūܹñŵœB
>>162
ÅÌ case 0: do { ...; case 1: ... Ì_Åðs\ŵœB
switchªPÈécasexÖÌWvŸÆð·êÎ
»êÈ~Í do{ } while() Ÿ¯ÉÚ·êÎæA»ÌÅÍcasexÉÓ¡ÍÈ¢ÌÅ·ËB
166:ftHgÌŒ³µ³ñ
07/10/02 19:21:51
€©Šš
~~
3/5=60%
Æ¢€Ž¶Å±Ìlð100ÉßñÅ·B
p[^ÌSÊèÆÍÇÌæ€È޶ŷ©H
167:ftHgÌŒ³µ³ñ
07/10/02 19:22:07
³çÉgotoðÁŠÄ¬³¹ê΢¢ÌÉc
168:ftHgÌŒ³µ³ñ
07/10/02 19:23:45
>>166
ÈñÅu€vª~ÈñŸH
169:ftHgÌŒ³µ³ñ
07/10/02 19:24:51
>>163
Nx3sñA
165 24 500
150 21 1000
180 18 200
100 120 0
3x1sñB
a
b
c
Nx1sñC
6 © 50¹ÅœÔÚ©
11
16
8
Æ·éÆ«
AEB=C
ðœ·sñBðè·êÎæ¢
±ÌÆ«sñAÌtsñðPÆ·éÆ«(ãt«¶ªgŠÈ¢ÌÅOOG)
ŒÓɶ©çPð|¯éÆ
P¥A¥B=P¥C
B=P¥C
ÆÈèß鱯ªoé
tsñÌßûÍ{(Numerical Recepies in C/C++ Ýœ¢ÈâÂ)É
¢Ä éÌÅ»êð©êΚ
170:ftHgÌŒ³µ³ñ
07/10/02 19:27:48
>>161
WikipediaÚØÝž's_device
Å
171:163
07/10/02 19:28:46
>>168
{»ÌÊuÍu¢vŸ©çÅ·B
>>169
Ç€à èªÆ€²Ž¢ÜµœB
³Á»âÁÄÝÜ·B
172:ftHgÌŒ³µ³ñ
07/10/02 19:34:26
{ÁÄœŸ
u vu€vu©vuŠvušvÌ\[gÉœÅu¢vªoÄéñŸH
¶á f[^ªu³vuµvu·vu¹vu»vÈç±€ÈéÌ©H
³@@@@@@@@µ@@@@@@@·@@@@@@¹@@@@@@@»
~i{ j@~i{¢j@~i{€j@~i{Šj@~i{šj
0%
ÏÈÌ
173:168
07/10/02 19:35:26
>>172 ÍŽ¶áÈ¢Œ
ŽÍà€úßœ
174:172
07/10/02 19:37:07
¢âA168ðéxéÂàèÍÈ¢ª
Èñ©vœIÈšá¢ðµÄé\Žªµœ©ç·¢ÄÝœñŸªà€©ÄÈ¢©È
175:169
07/10/02 19:38:07
>>171
>>169 ð¿åÁÆù³
vfNª4ÈãÌÍ
Nx4sñA (4ñÚÌvfÍíÉ1)
165 24 500 1
150 21 1000 1
180 18 200 1
100 120 0 1
4x1sñB
a
b
c
d
ɵȢƢ¯È¢
176:163
07/10/02 20:36:22
>>169
ÇÁÇ€àÅ·B
᪫©ÁœÅ·ËB
€©Šš¢«¯±³µ·¹»ÈºÔÇšèŸÆ·éÆ
47/5094%ÆÈèÜ·B
177:ftHgÌŒ³µ³ñ
07/10/02 21:18:47
᪫¢Æ¢€©Aó]·éñÆÌ·Ùð\µœ¢í¯ÅµåH
»±Åu ¢€ŠšvðáÉ·é©ç«¢í¯¶áËH
ÊÌlª·¯Îu vÍ é©àmêñªu¢vÍÈ¢©àµêÈ¢Æv€B
178:ftHgÌŒ³µ³ñ
07/10/02 21:51:19
ıÆÍuñ ¢€Šš©«¯±cðvŸÁœç0Èí¯Ë
»€¢€è`Èç»êÅ¢¢¯ÇÚIƵÄÍ»êÅåävÈÌH
179:163
07/10/02 22:10:54
·ÝܹñŵœB
>>177
ÂéÆšèÅ·B
>>178
åävÅ·B
180:ftHgÌŒ³µ³ñ
07/10/02 22:21:34
C++ÅnewŶ¬µœzñÌvfÁÄßçêÈ¢ñŵ倩H
char* a = new char[5];
char b[5];
sizeof(a) Í4i|C^ÌTCYj sizeof(b)Í5ÉÈéÌÅ·ª...
šè¢µÜ·
181:ftHgÌŒ³µ³ñ
07/10/02 22:23:10
>>163ÁÄAʪKž50¹ÉÈéí¯¶á³¢æÈB
øŠæâéÌÍ\Y¢Cª·éB
¢€ŠšÉߢÀÑû©çÉAðª é©Ç€©ð
1ž²×Ä¢vOªìéÌyÈñ¶áÈ¢©ÈB
182:ftHgÌŒ³µ³ñ
07/10/02 22:30:25
>>180
char a[] = new char[5];
É·êΚ
183:ftHgÌŒ³µ³ñ
07/10/02 22:32:27
ReigŠâHPF
184:ftHgÌŒ³µ³ñ
07/10/02 22:33:54
œÏ¿@>>182¶á³©à
C++ÈçvectorÅà©ÁÄš¯ÎH
×ÈÌÉ2châÁÄ鯻fͪÝéÈ
185:ftHgÌŒ³µ³ñ
07/10/02 22:43:23
Rei門N\
186:ftHgÌŒ³µ³ñ
07/10/02 22:48:35
int hoge = 5;
char* a = new char[hoge];
Åhoge©èᢢ¶áñ
187:ftHgÌŒ³µ³ñ
07/10/02 22:55:21
vfÆ|C^ð^vɵæ€
188:ftHgÌŒ³µ³ñ
07/10/02 22:57:40
TCYÍèų¢Æó¯t¯È¢©ç
189:ftHgÌŒ³µ³ñ
07/10/02 22:59:25
¶á boost::arrayàµÍ»êÉœàÌð©ì·êΚk
190:182
07/10/02 23:05:56
X èªÆ€²Ž¢Üµœ. Vectorg¢Ü·.
àÐÆÂÖA¿âÅ·ªACÅÖÉzñn·ê¯¶±ÆªN«éñÅ·ª
ÖàÅn³êœzñÌvfªKvÈêAvfàÊÉn³È¢Æ
¢¯È¢Æ¢€±ÆÅ·©H
void hoge(char a[], int numOfFactor)Ýœ¢É
191:ftHgÌŒ³µ³ñ
07/10/02 23:10:34
à¿ëñ»€æ
[vÌI¹ðɵ©gíÈ¢ÈçÔºuèà é¯Ç
192:ftHgÌŒ³µ³ñ
07/10/02 23:11:13
>>190
»€ŸæBÃIÈzñÈçsizeofÅvfðæŸÅ«é¯ÇA»€ÅÈ¢êÍÊÉlðÇ·éKvª é
193:190
07/10/02 23:14:31
¹ðµÜµœBdËdË èªÆ€²Ž¢ÜµœB
vfÍfactor¶áÈÄelementŵœBšÜ¢çTNXII
194:ftHgÌŒ³µ³ñ
07/10/02 23:23:50
ÇÁ¿©ÆŸ€ÆAC++ÅÍæªyÑÅãÌ1Âãðw·Ce[^
Æ¢€2ÂÌøðæéÙ€ªêÊIŸÆv€B
template<typename@Iterator>
void@hoge(Iterator@first,@Iterator@last);
vfÍ|C^IÉfirst@-@lastÆŸ¢œ¢Æ±ŸªA
std::distance(first,@last)ÅßéB
à€¿åÁÆæiIÈ̪DÝÈçBoost.RangeB
template<typename@Range>
void@hoge(Range&@r);
boost::size(r)ÅvfªÜéB
boost::begin(r),@boost::end(r)ÅCe[^æŸB
vector»ÌŒReiêÊâzñÈÇðøÉn¹éB
195:ftHgÌŒ³µ³ñ
07/10/03 02:17:51
DWORD dwSize = GetFileSize(...);
LPBYTE lpBuffer = (LPBYTE)malloc(dwSize));
±êðNewðgÁÄ«·ŠéÆ·éÆÇñÈÉÈèÜ·©H
196:ftHgÌŒ³µ³ñ
07/10/03 02:37:03
Happy New Year
197:ftHgÌŒ³µ³ñ
07/10/03 04:24:39
ñ[B
std::vector<BYTE> buffer(GetFileSize(...));
198:ftHgÌŒ³µ³ñ
07/10/03 06:57:09
DWORD New = GetFileSize(...);
LPBYTE lpBuffer = (LPBYTE)malloc(New));
199:ftHgÌŒ³µ³ñ
07/10/03 08:33:47
DWORD dwSize = GetFileSize(...);
//1 LPBYTE lpBuffer = new BYTE[(dwSize + sizeof(BYTE) - 1) / sizeof(BYTE)];
//2 LPBYTE lpBuffer = (LPBYTE)new char[dwSize]
//3 LPBYTE lpBuffer = new BYTE[dwSize]
200:ftHgÌŒ³µ³ñ
07/10/03 09:03:51
//4 LPBYTE lpBuffer = new(nothrow) BYTE[dwSize];
malloc·µÖŠÈ箪¯¶(bad_alloc°žÉNULLÔ·)new(nothrow)Å
201:ftHgÌŒ³µ³ñ
07/10/03 09:39:48
ñÈR[hÍ©ç°ÌÄÄFileMappinggŠ
202:ftHgÌŒ³µ³ñ
07/10/03 11:11:39
WindowsServer2003x64ãÅAUSrbgvZXÆRQrbgvZXÌ€Lðs¢œ¢ÆvÁĢܷB
²×ÄÝéÆ}bvht@Cª éÌÅ·ªA±êÅÀ»Â\ŵ倩HPÈû@ª èܵœç³ŠÄ¢œŸ«œ¢Å·B
ÜœAUSrbgvZXÅmÛµœàÌðRQrbgvZXÅf[^QÆ·éÉÍÇ€·ê΢¢Åµå€©H
203:ftHgÌŒ³µ³ñ
07/10/03 13:30:07
>>202
Â\B}bvht@CoRB
204:ftHgÌŒ³µ³ñ
07/10/03 14:54:08
ÆwÅ×Å·B
ClassA a;
ClassA b = a;
ClassA c(a);
Ƶœê
bÍoϪú»³êA
cÍ¢ú»óÔÉÈèÜ·B
±êÍŸêdlŵ倩H«˶ŵ倩H
WinXP + Cygwin + gcc3.4.4
205:ftHgÌŒ³µ³ñ
07/10/03 15:03:23
âÁÄÝœª
#include@<iostream>
class@ClassA@{
public:@int@x;
};
int@main()
{
@@ClassA@a;
@@a.x@=@42;
@@ClassA@b@=@a;
@@ClassA@c(a);
@@std::cout@<<@b.x@<<@std::endl;
@@std::cout@<<@c.x@<<@std::endl;
}
ÀsÊ
42
42
ÇÌÖñª¢ú»H
206:ftHgÌŒ³µ³ñ
07/10/03 16:08:56
>>205
>ClassA c(a)
±êÍAÇ€¢€±ÆðµÄéÌH
207:ftHgÌŒ³µ³ñ
07/10/03 16:13:35
Rs[RXgN^Éæéú»
208:ftHgÌŒ³µ³ñ
07/10/03 16:19:21
>>207
Rs[RXgN^ÁÄDZÉéŸEè`³êÄéÌH
#include <iostream>@<----±±ÌH
209:ftHgÌŒ³µ³ñ
07/10/03 16:22:39
>>208
Rs[RXgN^ÁÄDZÉéŸEè`³êÄéÌH
ÈœÌSÌB
çk³Äš«AÁÉ©OÅ韵ȩÁœêÍÃÙÌRs[RXgN^ªpÓ³êéB
# È[ÉAoðS(ó¢)Rs[Éo·Ÿ¯³B
210:ftHgÌŒ³µ³ñ
07/10/03 16:28:28
>>209
>ÃÙÌRs[RXgN^
Áı€µÈ³¢ÆC++ÌdlÅÜÁÄéñÌH
211:ftHgÌŒ³µ³ñ
07/10/03 16:55:28
»€B
212:ftHgÌŒ³µ³ñ
07/10/03 17:46:41
ó¢Rs[ÁÄ¢€ÌÍAPÈérbgRs[ÁıÆH
213:ftHgÌŒ³µ³ñ
07/10/03 17:49:46
ó¢Rs[ÈñŸ©ç[lŠ¿áŸß
214:ftHgÌŒ³µ³ñ
07/10/03 17:50:38
»ÌoªRs[RXgN^ðÁÄ¢êλêðg€ªAÈ¢êÍ»€¢€±ÆÉÈéB
215:ftHgÌŒ³µ³ñ
07/10/03 19:47:41
>>205
·ÝܹñAàŸs«ÅµœB
> ClassA a;
> a.x = 42;
> ClassA b = a;
> ClassA c(a);
Ì
> a.x = 42;
ðæéÆ
0
17```(-1Ìunsinged\LH)
Ìæ€É\гêÄÜ·B
ŒûÆàRs[RXgN^ÉæèCX^Xª¶¬³êĢܷª
ʪÙÈÁÄ¢œœßCÉÈÁœæÅ·B
216:ftHgÌŒ³µ³ñ
07/10/03 19:56:40
»à»à³ÌoÏðú»µÄ¢È¢_Å
ÜÆàÈ®ìðúÒ·éÈæ
217:ftHgÌŒ³µ³ñ
07/10/03 20:14:24
>>216 ImÜÛœ
218:ftHgÌŒ³µ³ñ
07/10/03 20:52:49
int x;
printf("%d\n", x);
219:ftHgÌŒ³µ³ñ
07/10/03 21:09:32
>>216
int x;
int y;
x = y;
±Ìê, x, yÍÙÈéÂ\«ª éÌH
220:ftHgÌŒ³µ³ñ
07/10/03 21:19:33
>>219
}WÅH
221:ftHgÌŒ³µ³ñ
07/10/03 21:20:08
C++ÅgpÎÛÌNXªQÆJE^ðÀµÄ¢éÂ\«ª éÌÅ
ZeroMemoryÈÇÅf[^ðú»·éÌͲ@x
Æœ©ÅÚɵ©L¯ª éÌÅ·ªA¯lÌRÅ\¢ÌÉεÄà
ZeroMemoryðg€±ÆÍ ÜèDܵȢÌŵ倩H
CŸêÅÍí
èiŸÁœÌÅB
222:ftHgÌŒ³µ³ñ
07/10/03 21:24:57
#include <tr1/memory.hpp>
#include <cassert>
struct Base { virtual char f(void) =0; };
struct A : public Base {
char f(void) { return 'A'; }
};
struct B : public Base {
char f(void) { return 'B'; }
};
int main() {
std::tr1::shared_ptr<Base> p;
p.reset(new A);
assert( p->f() == 'A' );
p.reset(new B);
assert( p->f() == 'B' );
}
±€¢€ÀsoCfBOðCRTPðgÁÄ«œ¢ñÅ·ªÇ€¯Î¢¢ñŵ倩H
223:ftHgÌŒ³µ³ñ
07/10/03 21:25:53
>>215
[JÏÆµÄè`µœIuWFNgÍftHgú»³êé
gÝÝ^ÌêÌftHgú»Ísèl
ÇñÈÀÅÇñÈÊÉÈ뀪AlŠé±Æ©ÌÓ¡ªÈ¢
224:ftHgÌŒ³µ³ñ
07/10/03 21:27:02
>>221
»Ì\¢ÌENXªPODÈçZeroMemoryµÄà\íÈ¢B
PODÉÈéÉÍFXðiRXgN^EfXgN^AŒzÖÖ~ÈÇjª éªA
TËCÅ»ÌÜÜgŠéæ€ÈPÈ\¢ÌÈçåävÆvÁÄ¢¢B
»êÅàAZeroMemoryæèÍú»qÈÇÅ[ú»ð£·Ù€ªêÊIŸÆv€¯ÇB
225:221
07/10/03 21:29:51
>>224
f¢ñ èªÆ€²Ž¢Ü·B
226:ftHgÌŒ³µ³ñ
07/10/03 21:44:15
»à»àRXgN^Åú»³¹éæ€ÉÝv·éàÌÈÌÅÍH
y[WÅVX\ŠXbhÌõÞXêbèÌj
[XšÜ©¹Xg¥IvVð\ŠÉÂÔµ2ch
4972úOÉXV/84 KB
S:undef