ySҽ}zC/C++ ..
4:¼Ā37
07/09/27 13:03:35
ĒȽ©²³öØč¢µÜ·B
«Ģf¦ĀɢĵÜĮÄA±æēĢf¦ĀĢFlÉĶ\µóČ¢ĢÅ·ŖEEEB
URLŲŻø(pc11.2ch.net)
37ČńÅ·ÆĒAp³ū@Ŗķ©ēø¢ĮĢܷB
ČńĘČA±ĢÜÜX[³ź»¤ČĢÅÅĮĢܷB
5:ftHg̼³µ³ń
07/09/27 13:14:25
>>O007
Ęč ¦ø±ńČ“¶É·éĘ®¢½
#include <boost/function.hpp>
#include <boost/bind.hpp>
#include <windows.h>
void g_func(const char* str) {
MessageBoxA(NULL, str, "", NULL);
}
class Cfunc {
public:
void func(const char* str) { MessageBoxA(NULL, str, "", NULL); }
void (Cfunc::* GetFuncPtr()) (const char*) { return &Cfunc::func; }
};
class CHolder {
public:
template <typename T> void set(const T& f) { func = f; }
boost::function<void(const char*)> func;
};
int main()
{
CHolder hold;
Cfunc cf;
hold.set( boost::bind(&Cfunc::func, &cf, _1) );
hold.func("text");
}
6:5
07/09/27 13:15:03
007Ø997
typo typo
7:ftHg̼³µ³ń
07/09/27 13:20:30
Zbg·éĘ±ėš«Éµ½ē>>998ŢƽęI
void SetFunc(boost::function1<void, char*> func){m_func = func;}
8:ftHg̼³µ³ń
07/09/27 15:58:29
unsigned longĢlšüźézń³¢Åµå¤©H
CStringListݽ¢ČāĀÅ
9:ftHg̼³µ³ń
07/09/27 16:03:28
std::vector<unsigned long>
10:ftHg̼³µ³ń
07/09/27 16:18:11
D«ČReiÉüźČ
11:ftHg̼³µ³ń
07/09/27 16:52:33
ʱėÅ«ĮĽāĮÄé̩ӔŖŖ©ēČ¢ń¾ŖA
N©ŻÓ¢Ä³¦ÄźČ¢¾ė¤©B
boost::bind(&Cfunc::func, &cf, _1)
12:ftHg̼³µ³ń
07/09/27 17:04:05
boost::bind(&Cfunc::func, &cf, _1)(hogr)Ģcf.func(hoge)
13:ftHg̼³µ³ń
07/09/27 17:20:35
>>1³
14:ftHg̼³µ³ń
07/09/27 17:29:12
boost::functionĶO[oÖÖĢ|C^āÖIuWFNgČĒšźIÉŪÅ«éĮÄĢĶŖ©Į½B
ÅAboost::bindĶČÉāēS©Ę©¢¤ĢšµÄ2ųĢÖšPųĢÖʵĵ¦éH̾ƩČńĘ©EEE
>>5Å¢¤Ę±ėĢA
ŹĢO[oÖg_funcÖĢ|C^Ę¢¤©AhXĶg_funcÅA
oÖCFunc::funcĢAhXĶ&Cfunc::funcH
Åą»ź¾Æ¾ĘĒĢCX^XĢfunc©ķ©ēń©ēA
Cfunc cfĮÄ¢¤CX^XĢīńąĒ¤É©n·KvŖ éĮÄĢĶķ©éB
ŖA»źēšS©·éĮÄ¢¤ĢĢÓ”ŖŖ©ēČ¢BS©ĮÄČńÅ·©H
t@XĢś{źóĒńÅąSRŖ©ēČ¢EEE
15:ftHg̼³µ³ń
07/09/27 17:46:30
|C^¤ńŹńACX^X¤ńŹńĘ¢¤ĄęčąA
ÜøTOšš¹ń±ĘÉĶČB
Haskell ½čÅ׵ī½ēH
16:ftHg̼³µ³ń
07/09/27 18:06:02
>>14
STL@Ģ@bind1st@Ę@bind2nd@š²×ÄźĪķ©éń¶įČ¢
17:ftHg̼³µ³ń
07/09/27 18:11:30
į¦Ī«Ż½¢ČźAgfunc2Ģi©jš
ČÉ©µēčʵÄÅčµÄAųŖ1ĻĢÖʵÄCFuncHolderĢm_funcɵܦéH
ĮıĘÅ·©H
class CFuncHolder{
private:
boost::function1<void, int> m_func;
public:
CFuncHolder(){};
void SetFunc(boost::function1<void, int> func){m_func = func;}
void RunFunc(int i){m_func(i);}
};
void gfunc1(int i){ printf("%d\n",i); }
void gfunc2(int i, int j){ printf("%d\n", i+j); }
void main(){
CFuncHolder fh;
fh.SetFunc(gfunc);
fh.RunFunc(1);
}
18:ftHg̼³µ³ń
07/09/27 18:12:54
>>14
S©¶įČÄ©¾Ęv¤Ŗ
Ö^¾źĢ©ĘąÓ”Ŗį¤ĢÅ“ēķµ¢
ĒĮæ©ĮĀ[ĘuŖKpv¾ķČ
19:17
07/09/27 18:57:49
bindĢÅĢųŖoÖÖĢ|C^ĢĘ«AęńųĶCX^XĢAhXšn·ĢŖ
»¤¢¤źĢÜĮ½«ūĮıĘÅĘč ¦øšµ½B
20:ftHg̼³µ³ń
07/09/27 19:52:13
_beginthread()
ÅXbh𶬵A»ĢXbhŖ³Ą[vµÄ¢éźA
vOI¹É»ĢXbhąI¹µÄźéĢŵ天H
21:ftHg̼³µ³ń
07/09/27 20:03:00
Ķ¢
22:ftHg̼³µ³ń
07/09/27 20:10:52
°(EÖEÉ)ÉGb
23:ftHg̼³µ³ń
07/09/27 20:11:34
I¹µČ©Į½ē×OS¾ė
24:ftHg̼³µ³ń
07/09/27 20:29:24
main() {
char *buf = new char[1024];
}
ćĢR[hÅbufĶvOI¹Éšś³źÜ·ĮÄĢĘÆx¾Č
25:ftHg̼³µ³ń
07/09/27 20:54:17
ń[EEEuI¹³źévƾķźéĘįa“ éČB
ujó³źévH
ܾtVѩ
26:ftHg̼³µ³ń
07/09/28 12:04:40
ęclassÅĶČstructÅ\»³ź½ąĢš©Ü·Ŗ
½©į¢Ŗ éĢŵ天H
bgAfbgš³¦Ä¾³¢
27:ftHg̼³µ³ń
07/09/28 12:06:47
( ßtß)Īß¶°Ż
28:ftHg̼³µ³ń
07/09/28 12:10:26
classĶftHgÅprivate
structĶftHgÅpublic
class@A@:@X@{@//@<--@private@p³
@int@x;@@@@@@@@@@//@<--@private@o
};
struct@B@:@Y@{@//@<--@public@p³
@int@x;@@@@@@@@@@@//@<--@public@o
};
»ź¾Æ
29:ftHg̼³µ³ń
07/09/28 12:12:40
>>26
C++ÉØ¢ÄĶĮɳ¢ń¶įĖH
oÖš½ø épr̽ßÉÜĘß½hĻĢZbgh
Įľ¤Ó”š²µ½¢Ę«É
“Ķ ¦Ästructšg¤ÆĒB
30:ftHg̼³µ³ń
07/09/28 12:35:52
>>28-29
čŖĘ¤²³¢Üµ½
31:ftHg̼³µ³ń
07/09/28 14:16:18
>>11>>19
boost::bind(&Cfunc::func,@&cf,@_1)ĶA
boost::bind(boost::mem_fn(&Cfunc::func),@&cf,@_1)B
mf@=@boost::mem_fn(&Cfunc::func)Ę·éĘA
mf(a,@b)ĶAa.func(b)ĘÆ¶B
ĀÜčAmem_fnĶoÖšŹķĢÖÄoĢ\¶Å
ÄŃo¹éę¤É·éA_v^ƾ¦éB
>>12Ö±B
32:ftHg̼³µ³ń
07/09/28 14:34:34
std::string str
switch( str )
{
@@case " ¢¤¦Ø"
@@@@funcA();
@@@@break;
@@case "©«±Æ±"
@@@@funcB();
@@@@break;
@@iÆlɱEEEj
}
Ģę¤É³¹½¢ÆĒ¶ńČ×Éoܹń
±ĢlČźĒ¤¢¤āčūŖźŹIÅ·©H
if¶ÅSSµ©Č¢H
33:ftHg̼³µ³ń
07/09/28 15:12:10
źŹI¶įČ¢©ąµźČ¢ÆĒ±¤¢¤čŖyĮŪ¢
#include <map>
#include <string>
#include <iostream>
void funcA() { std::cout << "invoke func A\n" ; }
void funcB() { std::cout << "invoke func B\n" ; }
int main(void) {
@std::map< std::string, void(*)(void) > funcs ;
@funcs[ " ¢¤¦Ø" ] = funcA ;
@funcs[ "©«±Æ±" ] = funcB ;
@std::string str = " ¢¤¦Ø" ;
@void(*f)(void) = 0;
@f = funcs[str];
@if ( !f )
@@// default: Ģ
@else
@@f();
@return 0;
}
vĶššL[AÄŃo·ÖšlÉ·émap¾Č
lšboost::functionÖĢQĘʩɵÄāźĪA®IČIuWFNgĢ\bhšÄŃo·±ĘąĀ\
34:ftHg̼³µ³ń
07/09/28 15:40:21
>>33
čŖĘ¤²“¢Üµ½
35:ftHg̼³µ³ń
07/09/28 16:53:01
C++wŅÅ·B
std::fstreamšg¢AeLXgt@CĢgšstd::stringĢIuWFNgÉi[µ½¢Ęv¢Ü·B
eLXgt@Ctext.txtĶShift_JISÅ©źAóāüsA}`oCg̶šÜŻÜ·BTCYĶs¾Å·B
±ĢüsČĒĶAĀ\ČĄčŪ·éʵܷB
©ŖĶAČŗĢę¤ČR[hšLqµÜµ½B
std::string str;
std::ifstream ifs;
ifs.open("text.txt",std::ios::in);
if(!ifs.is_open()) return; //I[vøs
while(!ifs.eof())
{
@std::string line;
@std::getline(ifs,line);
@str += line + "\n";
}
1.getlineā>>šgĮÄAµøĀĒŻŽĘ¢¤ū@ÅǢ̩Ŗ©čܹńBźĒŻŻĢū@Ķ éĢŵ天B
2.getlinešg¤źAźIÉlinešpÓµA»ź©ēstrÉi[·éū@šĢĮĢܷB½ĘČē·ČCąµÜ·ŖA±ńČąńČĢŵ天B
3.ÅćÉüsR[hštĮ·éA+"\n" Ę¢¤«ūšµÄ¢Ü·ŖAstd::endlšg¤ū@AąµĶ»źÉ½ę¤Čū@Ķ éĢŵ天B
36:ftHg̼³µ³ń
07/09/28 17:00:48
t@CĢgšSĒŻę轩Į½ēAistreambuf_iteratorg¦Ī¢¢B
typedef@std::istreambuf_iterator<char>@isb_it;
str.assign(isb_it(ifs),@isb_it());
37:ftHg̼³µ³ń
07/09/28 17:20:14
C++ĮÄL
38:ftHg̼³µ³ń
07/09/28 17:26:59
>>35
> 2.
åĢF»¤¢¤R[hš
> 3.
stringstreamšg¦Īę¢
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ÉČéĢÅ·Ŗ...
Øč¢µÜ·
y[WÅVX\¦XbhĢõŽXźbčĢj
[XØÜ©¹Xg„IvVš\¦ÉĀŌµ2ch
4982śOÉXV/84 KB
S:undef