ySҽ}zC/C++ ..
84:ftHg̼³µ³ń
08/02/07 06:42:38
vector ĮÄ嫳ŖĀĻĢĶøÅ·ŖAvectorĢzńĢ|C^ģĮĤܢĢŵ天H
½Ę¦ĪČŗĢę¤É double Ģ vector ĢzńšģĮ½ĘµÜ·B
std::vector<double> a[3][4];
±Ģ vector zńĢvf²ĘÉį¤ń¾Æ push_back() Ålšüź½ĘµÜ·B
»µÄ vector Ģ|C^[šųÉĘéČŗĢÖŖ č
void hogehoge (std::vector<double>* arg )o
@for(std::vector<double>::const_iterator it=arg[0].begin();
@@it!=arg[0].end();
@@it++){
@@@std::cout<<"arg[1] "
@}
}
»ĢųÉ a[1] šČŗĢę¤Éüź½źĶ
hogehoge(a[1]);
arg[0]Ę¢¤ĢĶ a[1][0] šæįńƳµÄźéĢŵ天H
85:ftHg̼³µ³ń
08/02/07 06:44:38
Ūčµ½ń¶įČÄA čŖæČp^[É×ĮÄ¢»¤¾©ēwEµ½¾Æ¾ėB
86:ftHg̼³µ³ń
08/02/07 07:16:58
>>84
R³·
87:ftHg̼³µ³ń
08/02/07 07:18:13
>>80
newµ½ÜÜI¹ĮÄAmain/WinMain ·ēI¹µ½ćĢb¾ŗ
88:84
08/02/07 07:20:43
>>86
čŖĘ¤I
ĮıĘĶ sizeof(vector<double> ĶvfĢÉ©©ķēølĶĻķēČ¢ĮÄ©B
svcB
89:ftHg̼³µ³ń
08/02/07 07:23:40
>>88
Ó”ŖŖ©ēńB
|C^É [0] šĀƽē
»ĢAhXÉ éIuWFNgšw·B
ÉßÄVvȦB
90:84
08/02/07 07:30:44
š®IÉģĮÄé©ēReiĢvfŖ¦Äą|C^ĶÆ¶É éĮÄ©
91:ftHg̼³µ³ń
08/02/07 07:31:39
vectorĢgĶnewÅmŪµ½ÖĢ|C^(ĘĒīń)¾©ēČ
92:ftHg̼³µ³ń
08/02/07 07:35:21
>>88
vf©ĢĶ®ImŪ³źÄ¢é©ēČ
93:ftHg̼³µ³ń
08/02/07 07:35:52
¢¢¦B
94:ftHg̼³µ³ń
08/02/07 09:42:52
vectorĢĢvfš\[gµ½¢ĢÅ·ŖA»ĢĘ«A©ŖÅč`µ½ÖÉęĮÄ
\[gµ½¢Å·BǤ·źĪę¢Å·©H
95:ftHg̼³µ³ń
08/02/07 09:45:44
vectorĶA±ĢęÉi[³źéizńĘÆ¶ę¤Éµ¦éj©ēŹÉ\[gµ½ē¢¢B
96:ftHg̼³µ³ń
08/02/07 10:00:45
>>94
std::sort
97:ftHg̼³µ³ń
08/02/07 14:14:42
X^eBbNNĘ©V[hNĘ©»Ģ ½č̱ƪ×Å«éTCg čܹńŵ天H
98:ftHg̼³µ³ń
08/02/07 14:26:10
>>96
sort(vec.begin(), vec.end(), func);
Ę«½¢AfuncĶǤ¢¤ÉÆĪę¢Åµå¤©H
class func : public binary_function
{
bool operator()(const string &a, const string &b){}
};
Ę¢ÄŻ½ĢÅ·ŖARpCąŹčܹńB
Ǥ©Øč¢µÜ·B
99:ftHg̼³µ³ń
08/02/07 14:29:08
binary_functionÅ®®ź
100:ftHg̼³µ³ń
08/02/07 14:30:57
>>98
µ§É¾¤Ęstrict weak orderingš½·ę¤É
±ĘÉČéŖA
struct func : public binary_function
{
bool operator()(const string &a, const string &b) {
@@@@return a < b; //«Åø
}
};
sort( vec.begin(), vec.end(), func() );
Ę©ÅǤH
101:ftHg̼³µ³ń
08/02/07 14:31:04
æāÅ·B
VC6.0Å©OĢCušÜĘß½Static Link LibraryšģĮĢܷB
»ĢCušĄŪɼĢvWFNgÅg¤ŪANĢʱėÅČŗĢę¤ÉēT«Üµ½B
E·ÅÉ LIBCMTD.lib(crt0dat.obj) Åč`³źÄ¢Ü·
±źšMŖÉAåŹÉNxŖÅܵ½B
²×½Ę±ė
URLŲŻø(m--takahashi.com)
libĢūĶVOXbhÅBeXgvWFNgĢŁ¤Ķ}`XbhÅRpCµÄ¢éĢŖāčĢę¤Åµ½B
¼ū}`Xbhɵ½Ę±ėc
E"libcmt.lib" ͼĢ×²ĢŽ×ŲĢgpĘ£µÄ¢Ü·
”xͱ꾯Åܵ½B
²×½Ę±ė
URLŲŻø(m--takahashi.com)
libŖReleaseRpCÅAeXgvWFNgŖDebugRpCČĢŖ«¢ę¤Åµ½B
libšReleaseÅĘDebugÅ̼ūšĀčAKŲÉN·éę¤Éµ½Ę±ėAG[Ŗ«¦Üµ½B
±±Å^āČĢÅ·ŖA”ćĢÄp«šl¦éĘlibĶ
EVOXbhDebugÅ
EVOXbhReleaseÅ
E}`XbhDebugÅ
E}`XbhReleaseÅ
š»ź¼źpӵĨ©ČÆźĪČēČ¢Ģŵ天H
źŹIÉpÓ³źÄ¢é"winmm.lib"ČĒĶA½ąl¦øÉstdafx.hÉ
#pragma comment(lib, "winmm.lib")
ƢĨÆĪAVOXbh¾ė¤Ŗ}`Xbh¾ė¤ŖADebug¾ė¤ŖRelease¾ė¤ŖKŲÉN³źÜµ½ixāG[Åܹńj
©ģĢlib௶ē¢CyÉg¦éę¤É·éÉĶAĒĢę¤Éµ½ēĒ¢Ģŵ天H
102:ftHg̼³µ³ń
08/02/07 14:32:02
ØĮĘA
>>99š©Ä
struct func : public binary_function<string, string, bool>
{
bool operator()(const string &a, const string &b) {
@@@@return a < b; //«Åø
}
};
©B
103:ftHg̼³µ³ń
08/02/07 14:38:33
const ŖLĮ½ūŖ¢¢ČB
104:ftHg̼³µ³ń
08/02/07 14:39:36
n[hfBXNÖĢ«ŻÅAÖĢLbV
š©®ÅsĮÄźé½ß čÜ·©
105:ftHg̼³µ³ń
08/02/07 14:52:29
ØĮĘA
>>103š©Ä
struct func : public binary_function<string, string, bool>
{
bool operator()(const string &a, const string &b) const {
@@@@return a < b; //«Åø
}
};
©BØźĶconstšęYźéB
106:ftHg̼³µ³ń
08/02/07 14:53:31
>>101
EDebugÅĶöJµæį¢ÆÜ¹ń
E»sVCĶVOXbhÅ^CŖ čܹń
>>104
»ńČu½ßvČńÄ éąńÅ·©B
107:ftHg̼³µ³ń
08/02/07 14:59:57
>>106
MFCĢfobOÅDLLĢÄzzŖÖ~ȾÆÅ
©OCuĢfobOÅzzĶÖ~¶į˦¾ėB
108:ftHg̼³µ³ń
08/02/07 15:05:41
>>106
©OÅLbV
pӵܵ½ę
109:ftHg̼³µ³ń
08/02/07 15:16:46
>>106
101Å·
ØŌ čŖĘ¤²“¢Ü·B
EDebugÅĶöJµæį¢ÆÜ¹ń
m©É»ą»ąDebugÅĶpӵĨKvȢŷęĖ
½¾Ad3d9.lib ąAfobOÅ絫 d3d9d.libĘ¢¤ąĢŖ čÜ·B
൩µÄuDebug/ReleaseÅ©®IÉNšĻ¦Ä¢évČńÄ¢¤ĢĶĢĻzÅ
d3d9d.libĶgķźÄ¢Č¢Ģŵ天H
E»sVCĶVOXbhÅ^CŖ čܹń
±źĶĀÜčA¢ĢÉzz³źÄélibĶ}`XbhÅÅģēźÄØčA
}`XbhÅlibĶAVOXbhČvWFNgÅpµÄąĮÉāčŖN«Č¢Ę¢¤±Ęŵ天H
iĄŪµÄݽƱėAVOvWFNg©ē}`LibšÄŃoµÄąG[ĘČčܹńŵ½j
»ą»ąu_beginthreadšg¤½ßÉĶ}`XbhÅÉ·éKvŖ évĘ¢¤FƵ©ąĮÄØēøA
u}`XbhÅɵȢ±ĘÉęé_vĶmēČ¢ĢÅ·
110:ftHg̼³µ³ń
08/02/07 15:21:59
>>109
ÜøAfobOÅĢlibŖ éāĀĶpragmaÅŲčÖ¦ÄéĶøB
©ŖĢģĮ½libŖØÉęĮÄĻķéĢĶA»¢ĀĢÅfobOÅā
MTÅĢlibšÄńÅé©ēB
»¤¢¤Ģ𯽯źĪX^eBbNNµÄµÜ¤Ę¢¢©ąB
111:ftHg̼³µ³ń
08/02/07 16:08:21
>>109Å·
iĄŪµÄݽƱėAVOvWFNg©ē}`LibšÄŃoµÄąG[ĘČčܹńŵ½j
±źÅ·ŖAØį¢Åµ½B
āĶču}`XbhÅĢlibt@CvšuVOXbhÅĢvWFNgv©ēN·éĘA
LINK : warning LNK4098: defaultlib "LIBCMTD" ͼĢ×²ĢŽ×ŲĢgpĘ£µÄ¢Ü·; /NODEFAULTLIB:library šgpµÄ¾³¢
ĘČĮĵܢܵ½B
ićĢĶADebug}`ÅLibšDebugVOÅĢvWFNgÉNµ½źĢxÅ·j
>>110
ČéŁĒBht@C ½čÅA#ifdef _DEBUG āēFXƵĢéĢŵ天B
»¤¢¤Ģ𯽯źĪX^eBbNNµÄµÜ¤Ę¢¢©ąB
æåĮʱĢÓ”¢Ŗķ©ēČ¢ĢÅ·ŖAڵ³¦Ä¢½¾ÆÜ·Åµå¤©
DZ©ĢTCgÖĢNÅą\¢Ü¹ń
112:ftHg̼³µ³ń
08/02/07 16:26:09
³¦Ä¾³¢B
ČŗĢ®ÅAshinŖUÉČéĢĶȺŵ天H
unsigned int a =10, b = 20;
char shin = ((a - b) < (b - a));
(a - b) = -10, (b - a) = 10 ČĢÅAshin = ^ÉČéę¤Év¤ĢÅ·ŖBBB
113:ftHg̼³µ³ń
08/02/07 16:29:04
unsignedÆmĢZĢŹĶunsigned
114:ftHg̼³µ³ń
08/02/07 16:32:12
int^Ļi-32768`32767jÉ-40000Ę©üźę¤Ęµ½ēǤČéĘv¤H
115:ftHg̼³µ³ń
08/02/07 16:32:16
čŖĘ¤²“¢Ü·
116:ftHg̼³µ³ń
08/02/07 16:37:11
>>101
RpCIvV/ZlĮÄVC6ÉČ¢H
±źĶobjt@CÉLIBCMTD.LIBĘ©CRTÖĢQĘš
ßÜČ¢ę¤É·éRpCIvVB
1ĀĢlibÅSÄšd¦éę¤ÉąČéB
ÆĒ»ĄIÉĶÅK»EfobOIvVĢL³ÅA
ČĘąRelease/DebugĢ2ķpӷ׫¾Ęv¤ÆĒB
117:ftHg̼³µ³ń
08/02/07 16:48:16
>116
ZlIvVšgĮ½Ę±ėADebugvWFNg©ēReleaseLibšgĮÄąxŖÅČČčܵ½B
čŖĘ¤²“¢Ü·B
iÅ@Zl@Ŗ@[bgEAC¾ĘvĮĬµÜµ½@[bgEGÅ·Ėj
µ©µAStaticLibraryĢģčūšŚµšąµÄ¢éTCgĮÄSR©½čܹńĖcB
Lib¤ĘµÄĶARelease¾ÆpӵĨÆĪ¢¢Ęv¤ĢÅ·ŖĒ¤Åµå¤©H
LibŖoOĮĢȢƼčµÄp·éĢŖOńÅ·ÆĒ
118:ftHg̼³µ³ń
08/02/07 16:51:38
>>101
winmm.libĮÄwinmm.dllĢPČéC|[gCuÅĶH
VCĢ^CšNµČ¢CuČ绤¢Į½āčĶRN«Č¢
119:ftHg̼³µ³ń
08/02/07 16:52:47
ŹÉRelease¾ÆÅࢢĘv¤B
DLL¾ĘfobOÅąńČńÄb·©Č¢µB
120:ftHg̼³µ³ń
08/02/07 17:02:19
>>118
AČéŁĒB»¤¢¦ĪlibÉĶą¤ŠĘĀuDLLĘN·é½ßĢC|[gCuvĘ¢¤šŚŖ čܵ½ĖB
winmmĶ»ĮæÅ·©B
ig£qϦźĪ¢¢ĢÉČcj
>>119
¹šµÜµ½B
ALL
åĻQlÉČčܵ½B
čŖĘ¤²“¢Üµ½I
121:ftHg̼³µ³ń
08/02/07 17:19:25
fobOÅĢlibšń·éĢĶlibšfobOµÄąēØ¤Ę¢¤±Ę¶įČÄA
»źšgĮ½vOąLibĢ\[Xšg[XÅ«éę¤É¾ę
122:ftHg̼³µ³ń
08/02/07 17:23:39
>121
NÖĢŌ¾HH
123:ftHg̼³µ³ń
08/02/07 17:26:13
«˶ĢXĶ·×ÄX[µÄÜ·
124:ftHg̼³µ³ń
08/02/07 17:36:05
X^CąąæėńX[Å·
125:ftHg̼³µ³ń
08/02/07 18:04:43
template<typename T>
void foo() {
T x = T();
}
intāint*ČĒĢī{^ÉεÄev[gÅĢftHgś»
šĀ\É·é½ßÉćĢę¤Č\LŖ³źÄØčint*|C^ąn¹Ü·B
iNULL|C^Éś»³źÄ¢éj
µ©µAČŗĢ|C^Ģś»Ķ³źÄ¢Č¢Ģŵ天H
int* p = int*(); //RpCNGŵ½
int i = int(); //OK
126:ftHg̼³µ³ń
08/02/07 18:05:37
ISO 9660t@CšQĘÅ«éDLLĘ© čܹń©
127:ftHg̼³µ³ń
08/02/07 18:28:40
>>125
»źĶūȢÆĒA±źČēÅ«éB
typedef int* pint;
template<typename T>
struct identity
{
@ typedef T type;
};
int* p1 = pint();
int* p2 = identity<int*>::type();
128:ftHg̼³µ³ń
08/02/07 19:05:06
Ŗšś³źÄé©Ē¤©mF·éū@ĮÄČń© é©ČH
void a( void* p ) {
if( rand() %2 ) delete p;
}
void main () {
char*pc = new char[100];
a(pc);
// pcŖšś³źÄČ©Į½ēšś
if( soreppoino( pc ) ) delete pc;
}
ݽ¢ČB
129:ftHg̼³µ³ń
08/02/07 19:08:34
·ÜńėĮ½EEEĮı±Åࢢ̩ȱź
130:ftHg̼³µ³ń
08/02/07 19:13:57
>>127
typedefÅĀ\Ę¢¤±ĘĶPČéV^bNXĢāč¾Ę¢¤
±ĘÅ·©ĖB¾ĘµÄąfoo<int*>()ĶŹIÉ
int*()ĘČé©ēNGĢę¤ČCąµÜ·ŖĖB
131:ftHg̼³µ³ń
08/02/07 19:31:29
XgĒĢ
XgĢACešdeleteµ½Ę«A©®IÉ®·éXg©ēĶøźé@\ĶA
stlÅvectorĘ©listĘ©gĮÄ®Xgšo¦ÄAXg©ēĶø·ęčA
OćĢ|C^šĮ½A©ČANXĢŁ¤Ŗ¬xIɢŷ©H
Ę¢¤©Adeleteµ½Ę«A©®IÉ®·éXg©ēOźétemplateݽ¢ČąĢ
STLݽ¢ČWCuÉ čÜ·©H
132:ftHg̼³µ³ń
08/02/07 19:34:12
>>130
PÉV^bNXĢāčĮŪ¢ę
postfix-expression:
simple-type-specifier ( expression-listopt )
(Ŗ)
simple-type-specifier:
::opt nested-name-specifieropt type-name
::opt nested-name-specifier template template-id
char
wchar_t
bool
short
int
(Ŗ)
type-name:
class-name
enum-name
typedef-name
class-name:
identifier
template-id
intāNX¼ātypedef¼ĶOK¾ÆĒint*Ķ\¶ÉvµČ¢ĮÄ¢¤EE
133:ftHg̼³µ³ń
08/02/07 20:03:47
>>128
»¤¢¤NXÅąpӵȢĄčA čܹńB
Ā[©A»ńČ¢šČĒķŖĶ č¦Ü¹ńB
>>131
tÉAXgÉ éIuWFNgšremove·éĘ«ÉdeleteµÄĶ?
134:ftHg̼³µ³ń
08/02/07 20:22:12
1904NĢśIķĢŪÉAVA³³ļĶS³ļš °Äś{ÉV±š
ŗ·ę¤É_ÉFčš³³°½BĒČÉąV±Ķ~čøAVAĶÆ½B
20NćAś{ÅÖåkŠŖ¶BVAĢØwŅJsbc@Ķ±ĢĄ©ē
u_Ķķźķź©ē9õNČąÉ¢évĘ_𺵽Ƣ¤B
135:ftHg̼³µ³ń
08/02/07 20:47:14
@ØAØ©µ¢AEEE
^'Ü`RA TNćĢ¢EÉsĮ½ē`
[SNŖČ©Į½AEEE
RAÆ@m @
@ `[°' @ @ @@ ĮÜ`R @ @@@@@@@@^'ÜÜRA
@@,-°°-¤ @ @ @.||PP @ @ @ @ @ @@i @ @ «@ ÜR
@/@ «@@j @@@||@@@ ČQČ @@@ @ _ Ŗ®@@ @j
.i. @ « @@j@@@||.@ @i MnLGj
@R¤QQ,m @ @@||@ Q(Ā÷÷Ę)Q_
@@ @ @@@@@ ^||'''''| @O@ | @@ |'iÜj
@@@@@@@@^@ @@'\\\`@P _
@@ @@@@@`'
136:ftHg̼³µ³ń
08/02/07 20:51:06
>>132
ČéŁĒBÜ ev[gĢƫ̽ßÉpÓ³źÄé
K„ČĢÅA»ĢĘ«¾ÆpµÜ·B
čŖĘ¤²“¢Üµ½B
ʱėÅAŻČ³ńĶ“¶ĢKišĮÄéńÅ·©H
¤ĘSß©Į½ĢÅÄĘÄą¦Ü¹ńB
137:ftHg̼³µ³ń
08/02/07 21:14:24
JISČēICÅĒßé¶įńB澯ĒB
138:ftHg̼³µ³ń
08/02/07 21:17:09
Visual C++ 6.0šgĮÄ¢éńÅ·ÆĒ
C++ĢvOšĄs·éĘ
c:\program files\microsoft visual studio\vc98\include\new(16) : error C2143: \¶“×° : ';' Ŗ '<class-head>' ĢOÉKvÅ·B
c:\program files\microsoft visual studio\vc98\include\new(16) : error C2501: '_STD_BEGIN' : ÆŹ¼šé¾·éĢÉA^Ŗwč³źÄ¢Ü¹ńB
c:\program files\microsoft visual studio\vc98\include\new(16) : fatal error C1004: \ś¹Ź EOF Ŗo³źÜµ½B
ĘoĵܢܷB
ĒńČvOÅą±ĢG[ŖoĵܢĄsūܹńc
ĒĢę¤É·źĪ±ĢG[ĶČČčÜ·©H
139:ftHg̼³µ³ń
08/02/07 21:18:22
>>137
»±ÅhtgÅ·ęB
į±»KiĘ᤯ĒA
Ć¢htg¾ĘÜ Ü »KiÉߢ©ē\ŖQlÉĶČéB
140:ftHg̼³µ³ń
08/02/07 21:25:29
>>138
KvČąĢŖüĮÄČ¢©üźéŻčɵĢȢB
_STD_BEGINĮÄĢĶSTLŖg¤é¾¾©ēSTLŖg¦Č¢ń¾ė¤B
ivectorÅągĮÄéń©ĖHj
“ĶSTLgĮÄČ¢ńÅćĶ®[®éę¶©¼ĢlÉÜ©·ķ
141:ftHg̼³µ³ń
08/02/07 21:37:29
>>137
>>139
źõūȢ©ēsÖÅ·ęĖBÜ ³æČĢŽÜɩܷŖB
³®Åš³æÅzzµÄ~µ¢Å·ĖB
142:ftHg̼³µ³ń
08/02/07 22:03:32
>>138
Visual C++ 2008 ExpressĘ©¾ĘǤČéH
143:ftHg̼³µ³ń
08/02/07 22:50:19
>>105
(xČčܵ½Ŗ)
čŖĘ¤²“¢Üµ½B
144:ftHg̼³µ³ń
08/02/07 23:20:56
>>128
WÅĶpÓ³źÄ¢Č¢ĢÅAlÉęĮÄĶšśµ½ē»ĢĢęšw
µÄ¢½|C^Ļš (* ©ŖÅ *) NULL ɵĨę¤ÉµÄ¢
élą¢éB
ĒĮæ©Įľ¤ĘAoOĮĽĢńdšśÆĘ©AĻČĢęšó³
Č¢ę¤Éƾ¤häō¾ŖB
void a( void** p ) {
if( rand() %2 ) delete *p;
}
void main () {
char*pc = new char[100];
a(&pc);
// pcŖšś³źÄČ©Į½ēšś
if( soreppoino( pc ) ) delete pc;
}
145:ftHg̼³µ³ń
08/02/08 01:48:10
m۵ĢȢĢÉdelete·éĘoOéńÅ·ŖĪ@ čÜ·©
146:ftHg̼³µ³ń
08/02/08 01:50:44
PĘÅĶĀ©ķČ¢ÅRXgN^AfXgN^ąÅg¦ĪĄS©Č
147:ftHg̼³µ³ń
08/02/08 01:59:05
void a( void** p ) {
@@if( rand() %2 ){
@@@@delete *p;
@@@@*p = NULL;@@@// deletećĶNULLšüźÄØ
@@}
}
void main () {
@@char*pc = NULL;@@@@// |C^ĶŹNULLÅś»µÄØ
@@if( rand() %2 )
@@@@new char[100];
@@a(&pc);
@@delete pc;@@@@@@// pcŖNULLČē½ąµČ¢
}
148:ftHg̼³µ³ń
08/02/08 01:59:41
while (cin) {
...
}
Ę¢¤ÉĀ¢ÄČńÅ·ŖAcinĮÄÅĶĘč ¦øtrueÉČéĢÅ·©H
·éĘA¢ĀfalseÉČéńÅ·©H
G[tOŖ½ĮÄźĪfalseA»źČOĶtrueÉČéĢ©ČH
cinŽ©f[^šĒŻń¾ć¾ÆtrueÉČéĢ©ĘvĮÄܵ½B
149:ftHg̼³µ³ń
08/02/08 02:00:03
> new char[100];
pc = new char[100] ŵ½B
150:ftHg̼³µ³ń
08/02/08 02:04:09
X^[g
«
WüĶ©ēf[^ŖcinÉs
«
cinŖtrueÉČé
«
while(cin)Ŗ]æ³źé
Ę¢¤©ń¶Čń¶įĖH
151:ftHg̼³µ³ń
08/02/08 02:12:09
>>147
C++ÅĶÄp|C^ÖĢ|C^ĮÄ@¾Į½ĮÆB
152:ftHg̼³µ³ń
08/02/08 03:44:28
āčČ¢B
153:ftHg̼³µ³ń
08/02/08 03:55:20
coutĘfstream(KČt@CÉεÄI[vĻŻĢąĢ)ĘĢ»ź¼źÉAŁŚÆ¶šĢÅ·ŖA
1ĀĢÖÉÜĘß½¢Ęv¤ĢÅ·ŖAǤ·źĪ¢¢Åµå¤©H
void print((^ŖŖ©ēČ¢) stream) {
stream << "hogehoge" << endl;
@...
}
±ńČĢąl¦ÄݽĢÅ·ŖARpCÅ«øA_ŵ½B
template<class T>
void print(char *filename) {
T outStream;
if (filename) outStream.open(filename);
outStream << "hogehoge" << endl;
...
}
Ǥ©ę뵨袵ܷB
154:ftHg̼³µ³ń
08/02/08 07:25:40
>>138
new wb_šCN[h·éOÉ
new š}NÅu«·¦ÄČ¢©H
155:ftHg̼³µ³ń
08/02/08 10:49:42
>>153
std::ostream
156:ftHg̼³µ³ń
08/02/08 11:53:19
TNGfB^Ģ\[XR[hšßÄ¢½ĢÅ·ŖARgÅęķ©ēČ¢\LŖ čÜ·B
@param ČĒĶČńĘČzŖĀĢÅ·ŖAu//!<vāu/*! */vͽšÓ}µÄ¢éĢŵ天B
ĒȽ©³¦Ä¾³¢B
157:ftHg̼³µ³ń
08/02/08 11:57:37
>>156
Ā[Doxygen]
158:ftHg̼³µ³ń
08/02/08 11:59:11
ܳÉA»źÅ·ĖB
čŖĘ¤²“¢Üµ½B
159:ftHg̼³µ³ń
08/02/08 13:23:53
įOĢg¢ūŖ¢Ü¢æŖ©čܹń
įOš°½ē»ĢĢÅšµ½ūŖĒ¢Ģ©
»źĘąšū@šg¤¤É°ĮĻȵɵĵܤ̩
įOšĒ¤¢¤`Åthrow·éĢŖ¢¢Ģ©
ČńĘ¢¤©“oIÉĶŻÉ¢Ę¢¤©ČńĘ¢¤©
160:ftHg̼³µ³ń
08/02/08 13:25:33
³pØ
161:ftHg̼³µ³ń
08/02/08 13:32:44
QĘšŌ·ĘIuWFNgŖĢÄēź½Ę«É
AĮÄ«½ąĢąü±¤É?
162:ftHg̼³µ³ń
08/02/08 13:34:05
>>159
©ÖĢÅJoÅ«éČēcatchµÄ·źĪę¢
»¤ÅČ¢ČēÄŃoµ³ÉÜ©¹é
ŹĢG[ĘÆ¶ę¤Čąń¾
©ŖÅÅ«éČēµÄAūȢČēÄŃoµ³ÉG[R[hČčČńČčšreturn·é¾ė¤
G[R[hĢreturnŖįOĢthrowÉĻķ龯
163:ftHg̼³µ³ń
08/02/08 13:34:37
>>161
ś{źÅ
164:ftHg̼³µ³ń
08/02/08 13:48:01
>>162
»¤¢¤“¶ÅĒ¢ńÅ·©
CyÉg¦éČēgĮįꤩČEEE
165:ftHg̼³µ³ń
08/02/08 14:03:21
Ę é3ķŽĢvŖķšj^[·évOČńÅ·Ŗ
ÄéÆĒ᱿Ŗ¤½ßŖ3Ā éʵܷ
±Ģź
NXŖÆšµÄ¢Ę«
vķ̤ʻĀNXšīźĘµÄA»ź¼źĢ@\šąĀh¶NXšģé©
@\Ģ¤ŹšąĀNXšīźĘµÄA»ź¼źĢvķÉ ķ¹Äh¶NXšģé©
ĒæēŖ”ćvķŖ¦éĀ\«šĮ”µ½Ę«Aę¢Żvŵ天
166:ftHg̼³µ³ń
08/02/08 14:07:41
>>165
»ĢvŖķ[JÉķ¹éĢŖźŌB
é[JĶ^@ķĢ@\šüϵĀĀV@\šģ驹µźČ¢µA
é[JĶ^@ķĢ@\šcµĀĀV@\šģ驹µźČ¢B
ČńıĘĶeąpAg¢Õ¢ę¤ÉģźĪ?
167:138
08/02/08 15:05:04
ŌMxČĮÄ·¢Ü¹ńI
>>140
STLĶgĮÄČÄą±ĢG[ČńÅ·ęc
Hello Worldݽ¢Č¶šoͷ龯ĢvOÅą
ĄsūȢŷB
>>142
Visual C++ 2008 Express EditionÅĄsµ½ēūܵ½I
čŖĘ¤²“¢Ü·B
>>154
}NągĮÄČ¢ĢÅį¤Ęv¤ĢÅ·Ŗc
Visual C++ 6.0šg¢µźÄ¢éĢÅ
ǤɩµÄĄs³¹½¢ĢÅ·Ŗ„„„
168:ftHg̼³µ³ń
08/02/08 15:22:22
class Fruit;
class Apple : Fruit;
std::vector<Fruit> fruits;šģéĘ
ŪNXšCX^X»Å«Ü¹ńB
ƾķźéÅ·BǤ·éÅ·©H
169:ftHg̼³µ³ń
08/02/08 15:23:31
Fruit Ŗ»¤¢¤ĀčÉČĮÄéń¶įČ¢ĢH
170:ftHg̼³µ³ń
08/02/08 15:24:38
>>168
class FruitšļĢ»µÄ¾³¢B
171:ftHg̼³µ³ń
08/02/08 15:36:19
std::vector<Fruit*> fruits;
172:ftHg̼³µ³ń
08/02/08 16:14:45
RpCÉBCCšgĮÄlvZšµÄ¢éĢÅ·ŖA
µĪēvOĄsµÄ¢éĘAEXP: OVERFLOW ERRORĘoÜ·B
±źĶAexpÖÉüź½lŖexpÖ̵¦élidoubleĢĶĶjęčąå«¢Ę¾¤±Ęŵ天H
173:ftHg̼³µ³ń
08/02/08 16:23:52
>>167
“Ašū@mĮÄéń¾Ŗc
174:ftHg̼³µ³ń
08/02/08 16:25:09
vevtorÉvcĢ_com_ptrĶüčÜ·©H
175:ftHg̼³µ³ń
08/02/08 16:59:55
Rs[ś»ąRs[ćüąÅ«é©ēāčȢ͸B
176:ftHg̼³µ³ń
08/02/08 22:22:37
·¢Ü¹ńæåĮĘØ·«µ½¢ńÅ·ŖA
#include <iostream>
using namespace std;
int main(){
char ss[80] = "±źĶ¶ńÅ·";
cout << ss[0] << ss[1];
return 0;
}
ĮÄāĮÄAcoutÅu±vĮÄ\¦³źČ¢ĢĶAǤ¢¤üŵ天HH
177:ftHg̼³µ³ń
08/02/08 22:24:09
UTF-8 ČēRoCgKv¾ŖA»¤¢¤ķÆÅĶČÄH
178:ftHg̼³µ³ń
08/02/08 22:34:20
>>176
ŠåĮʵÄČń©ĻȶŖÅ½čµÄé©H
179:176
08/02/08 22:34:23
®ĶA»¤¾Į½ńÅ·ĖEE2oCgÅ¢¢ń¾ĘvĮÄܵ½¾
cout << ss[0] << ss[1] << ss[2];
ĘāĮ½ēæįńĘ\¦³źÜµ½B
čŖĘ¤²“¢Üµ½m(_ _)m
180:ftHg̼³µ³ń
08/02/08 22:40:31
æČŻÉWindowsć¾Ę>>176ĢR[hÅu±vĶæįńĘo½B(bcc32 / gcc@cygwin)
181:ftHg̼³µ³ń
08/02/08 22:44:58
»źĶØOŖ\[XšSJISÅ¢Ä龯
182:ftHg̼³µ³ń
08/02/08 22:55:36
>>175
ĒąB
183:ftHg̼³µ³ń
08/02/08 23:42:34
UTF-8 ¾ĘSÄRoCgĮÄó¶įȢ̪Ź|Čʱė¾ęČB
184:ftHg̼³µ³ń
08/02/08 23:43:11
>>181
UTF-16 ÅąoéŖČB
185:ftHg̼³µ³ń
08/02/09 00:17:28
¼Å·¢Ä«Ü·
186:ftHg̼³µ³ń
08/02/09 00:20:35
fatal error LNK1104:RpCĶAt@Cd3d9.libšJÆÜ¹ń
ĘÅĵܢrhūܹń
č®ÅJÉd3d9.libšŻčµÜµ½Ŗ³Åµ½
Ǥ·źĪę¢Ģ©
187:ftHg̼³µ³ń
08/02/09 00:33:08
t@CĶ éĢH
188:ftHg̼³µ³ń
08/02/09 00:40:25
pathĢŻč͵½©H
189:ftHg̼³µ³ń
08/02/09 01:58:17
More Exceptional C++ŖĶ¢½ń¾Ŗ
¢«ČčÅĢR[hŖRpCū˦
źCÉāéCøµ½BāĮĻĆ¢{ͱńČ
ąń©Ė¦B
190:ftHg̼³µ³ń
08/02/09 02:00:08
æČŻÉR
VC++2008 g++ 4.0 ÅąsĀ
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char* argv[])
{
(argc > 2
@@@? ofstream(argv[2], ios::out | ios::binary)
@@@: cout)
<<
@(argc > 1
@@@@? ifstream(argv[1], ios::in | ios::binary)
@@@@: cin )
.rdbuf();
@return 0;
}
191:ftHg̼³µ³ń
08/02/09 02:06:46
SāčČ¢ÆĒBܳ©ĘĶv¤ŖA>190ĮÄ2oCgóüź½ÜÜūԢĢéØn³ń?
192:ftHg̼³µ³ń
08/02/09 02:15:25
RpCūȢƫĶG[bZ[Wš±¤
ČńÄĢĶhčXÅąOź³źÄéę¤ČCŖ·éB
193:ftHg̼³µ³ń
08/02/09 02:17:41
gcc 4 ÅŹēČ¢ČB
Ü ½čO¾ČB
EÓlĢ ofstream ʶÓlĢ ostreamicoutj ¾Ę
ŠūŖEÓlČĢÅEÓlÉLXgµÄ^šµ¦ę¤Ę·éŖA
±ĢQ¶įǤāĮÄą^šµ¦ēźČ¢B
194:ftHg̼³µ³ń
08/02/09 02:20:34
VC ¾ĘEÓlĢ ofstream š
e|IuWFNgšģ¬µÄ ofstream& ÉLXgµÄµÜ¦é©ēig£@\j
RpCŹé©ąµźńB
195:ftHg̼³µ³ń
08/02/09 04:37:38
½ŌńA±±Åµ©·ÆČ¢Ģ©ČĘv¢«Ż³¹Ä¾³¢I
File1.cppÅč`EgpµÄ¢é”zń double a[10][5] š¼Ģ
t@C(File2.cpp)Åą¤LµÄgpµ½¢Ę«ĮÄ
iFile2.cppj
void CGridDlg::OnGdraw()@//Ågpµ½¢ÖÅ·
{
@@extern double a[10][5];
@EEEEEEEE
}
Ęč`·źĪgpÅ«éąĢČĢŵ天BPzń(a[10])ĢĶÆlĢ
ū@ÅgpÅ«½ĢÅ·ŖB”zńÉČéĘćLÅĶNG[
iLNK2001jŖÅĵܢܷBĀ«ĶubU{{ileb_COx[XjÅ·B
“SŅÅ·BbĢ{š©Ä|C^ČčAexternČčŖÖWµ»¤©ČĘvĮ½
ĢÅ·ŖAȩȩ¢¢µŖ©¦ČÄÆšŲč½¢ęÅ·B
196:ftHg̼³µ³ń
08/02/09 07:49:02
>>191
±±É©ā·\é½ßÉSpɵÄéńę
>>192
VC++2008ÅĢG[bZ[W¾Ŗprivateo[ÉANZXµę¤ĘµÄé
ēµ¢B
error C2248: 'std::basic_ios<_Elem,_Traits>::basic_ios' : private o
(NX 'std::basic_ios<_Elem,_Traits>' Åé¾³źÄ¢é) ÉANZXÅ
«Ü¹ńB
>>193
ostreamicoutjĢÓ”ŖŖ©ēČ¢ńÅ·ŖBRZq A ? B : C
ĢBŖrvalueÅCŖlvalue¾©ēCi±±ÅĶcoutjšEÓlɵę¤Ę
·éĘ¢¤±Ę©ČH
>>194
ĢĢKiČčRpCÅĶOK¾Į½Ģ©ąµźńÅ·B
197:ftHg̼³µ³ń
08/02/09 08:25:12
>>191
198:ftHg̼³µ³ń
08/02/09 08:27:28
óor^u <-> /**/
Ģu·XNvgšó]
199:ftHg̼³µ³ń
08/02/09 08:28:26
>>197
ĢĢKiČčRpCÅĶOK¾Į½Ģ©ąµźńÅ·B
200:ftHg̼³µ³ń
08/02/09 08:55:15
>>196
¶ÓlĢ ostream ĢlÅ é cout ĮÄÓ”ĖB
G[ĢRĶ»źÅāčČ¢B
201:ftHg̼³µ³ń
08/02/09 09:50:51
>>195
externŤL³¹éĢĶØ©ßµČ¢B
¼ĢÖÅzńšQƳ¹é½ßÉĶA|C^šn¹Īę¢B
ÖąĢ[JĻÖĢ|C^ĶA»ĢÖĄsɵ©LųÉČēČ¢©ēAźIɵ©QĘE¤LūȢB
202:ftHg̼³µ³ń
08/02/09 09:59:52
>>195
CGridDlg Ģ private oĻɵÄA
a Ģę¾ÖšpÓ·źB
class CGridDlg {
public:
typedef double Hoge[5];
Hoge* GetA() { return m_a; }
const Hoge* GetA() const { return m_a; }
private:
Hoge m_a[10];
};
Hoge* a = grid_dlg.GetA();
a[0][0] = 1;
203:ftHg̼³µ³ń
08/02/09 10:37:35
LÅąķ©éšĮ½ńÅ·ŖA
“SŅĢ“ÉͳĮĻčķ©čܹńB
½©ķ©čā·¢{ČĒ Į½ē³¦Ä¾³¢BØč¢µÜ·B
204:ftHg̼³µ³ń
08/02/09 10:39:09
>>203
æČŻÉC¾źÅ·Bę뵨袵ܷB
205:ftHg̼³µ³ń
08/02/09 10:41:09
>>203
»Ģ{ÅŖ©čɢƩ¶įČÄ
³ĮĻčŖ©ēȢƢ¤ĢÅ źĪ³Å·A «ēßľ³¢
»źęč½Ŗ©čā·¢Ę]»ĢąĢą čÜ·ŖAå·Ķ čܹń
»źĘąĀ«ŖpÓūȢƩ»¤¢¤±ĘÅ·©H
206:ftHg̼³µ³ń
08/02/09 11:54:33
>>203
»Ģ{ĶĒń¾ĶČ¢ŖATvšŪæŪæčÅüĶµÄĄsµÄŻČ³źB
čÅü͵ķ̪ĢSB
t®CDĘ©_E[hšNbNµÄIķč¶įāĪÉšÅ«Č¢B
207:ftHg̼³µ³ń
08/02/09 13:26:37
>>200
ČéŁĒB3ZqĶŠūŖrvalueĢĘ«ĶŹąrvalueÉČéĘ¢¤
±ĘÅ·ĖB
µ½Ę±ėÅĶAstatic_cast<ostream>(cout)āostream obj(cout);
ĶūȢݽ¢ÅŖA»ą»ąostreamIuWFNgͶ¬Å«Č¢ą
ĢČńÅ·©H¾Ęµ½ēostreamIuWFNgÅ écoutĶĒĢę¤É
쬳ź½ĢÅ·©ĖH
208:ftHg̼³µ³ń
08/02/09 13:37:27
Rs[µę¤Ę·éĘ©éG[¾Č
209:ftHg̼³µ³ń
08/02/09 13:55:53
>>207
ostreamāistreamÉĶAųšęéRXgN^Ŗ éB
coutācinĶ»źšgĮÄģēźéń¾ė¤B
210:ftHg̼³µ³ń
08/02/09 14:04:36
>>207
static_cast<ostream&>(cout)@Ę©@ostream@out(cout.rdbuf());@ČēÅ«é
211:ftHg̼³µ³ń
08/02/09 15:06:27
>>209
>>210
Xg[ĘXg[obt@ÉĶć¢(Xg[obt@ĢÆś)
Ę¢(Xg[obt@̤L)ĮÄĢŖ éŻ½¢Å·ĖB
Ø»ēAR\[foCXÉÖAtÆēź½Xg[obt@
(į¦ĪcdevĘ¢¤¼O¾Į½ĘµÄ)Ę¢¤ĢŖVXeÉͶݵ
Ä¢ÄcoutĶAostream cout(&cdev); Ę¢¤Ó¤Éč`³źÄé
ńŵå¤ĖBXg[IuWFNgšRs[ūȢRĶ
³§ĄÉXg[obt@šRs[µ½č(ĢQļ)A
ĆŁĢ¤æÉ¤LÅ«½čµ½ēāčŖN±é©ē©ČĘv¢Üµ½B
212:ftHg̼³µ³ń
08/02/09 15:07:47
Xg[IuWFNgšRs[ūȢRĶ
³§ĄÉXg[obt@šRs[µ½č(ĢQļ)A
ĆŁĢ¤æÉ¤LÅ«½čµ½ēāčŖN±é©ē©ČĘv¢Üµ½B
Ķ>>208³ńÖĢXŵ½B
213:ftHg̼³µ³ń
08/02/09 15:24:28
coutšRs[·éĘ¢¤ĢĶÓ”Ŗķ©ēńAĮÄĢą 驹Ė
R\[©ĢŖ2ĀɦéķÆ¶į éÜ¢µ
214:ftHg̼³µ³ń
08/02/09 15:33:48
>>198
Ā©ĮÄāĮľ³¢
½ŚŲŻø(unixĀ:55Ō)
215:ftHg̼³µ³ń
08/02/09 16:41:15
>>205
Ā«ŖpÓūȢŷB
»źÅą «ēß½ūŖ¢¢Å·©H
216:ftHg̼³µ³ń
08/02/09 16:49:08
>>203
»ĢÜÜĢÓ”ŖŖ©ēČ¢ÆĒAHDVą³k³ź½fŽÅ·ęB
H.264ĘĶŁČéū®ÅB
WikipediaŚŲŻø
217:ftHg̼³µ³ń
08/02/09 16:52:43
AČń©·°[ėĮĽBøēorz
218:ftHg̼³µ³ń
08/02/09 16:58:08
Ā«ŖpÓūȢĮĀ[Ó”Ŗķ©ēńB
Macµ©ĮÄČ¢ĢÉWin32OńĢüåĮæįĮ½ĮıʩĖH
219:203
08/02/09 17:03:06
·¢Ü¹ńBAtHÅc
©ŖĶ”AęńĶÅ~ÜĮÄÜ·B
ƾ¤ĢąA¢«ČčuÅĶA\[Xš©ÄŻÜµå¤vĘČčA
uJĀ«ÉęĮÄRpCĢčŖŁČčÜ·v
Ŗ±Ģ_Åķ©čܹńB
©ŖÉĶü¢ÄȢ̩Čcorz
220:ftHg̼³µ³ń
08/02/09 17:05:32
void hoge(const char* name){ char* piyo = name + (sizeof(char) * 5); }
±ńČę¤Č±ĘĶČńÅoČ¢ńŵ天H
¶ńnameĢ5¶ŚĢ|C^i&(name[4])jšpiyoÉi[µ½¢Å·
error C2440: '=' : 'const char *' ©ē 'char *' ÉϷūܹńB
±Ģę¤ČG[ŖoéĢÅ·Ŗ³¼±±ÅČńűĢG[ŖÅéń¾HĘ¢Į½“¶Å·
221:ftHg̼³µ³ń
08/02/09 17:12:11
const@char@*piyo@
222:ftHg̼³µ³ń
08/02/09 17:13:49
>>220
«·¦Ā\Č|C^(char *)É«·¦s\Č|C^(const char *)šćüµę¤ĘµÄ¢é©ēÅ·B
void hoge(const char * name)
{
char const * piyo = & name[4];
}
±¤ÆĪāč čܹńB
223:ftHg̼³µ³ń
08/02/09 17:14:36
char *Ģconst«šµÄé©ēBüź½¢Čēpiyoąconst char *É·éB
hogeąÅ¶ńšMč½¢Čēųšchar *É·é׫B
ųĶĻ¦ēźøAǤµÄąchar *ŖKvČēconst_cast<char *>iÅćĢčij
224:220
08/02/09 17:17:20
>>221-223
čŖĘ¤²“¢Ü·B
ęl¦½ē¢¶éKvĶČ¢ĢÅpiyo¤šconstɵܵ½
225:ftHg̼³µ³ń
08/02/09 17:18:01
>>219
Ęč ¦øAČÉ©öĀ«ĶĮÄ¢éĢ©H
226:ftHg̼³µ³ń
08/02/09 17:18:34
name + (sizeof(char) * 5)
ŽĶåäv¾ė¤©B
227:ftHg̼³µ³ń
08/02/09 17:19:23
>>225
Ķ¢B
WN{XĶö·éĢÅåävÅ·B
228:ftHg̼³µ³ń
08/02/09 17:22:30
“Ģ`[ĢoąęTöµ½ŗB
229:ftHg̼³µ³ń
08/02/09 17:23:57
æåĮĘŅÄA»źĶuöv¶įȢ̩?
230:ftHg̼³µ³ń
08/02/09 17:24:28
>>226
»źĮÄāč éĢ©HpbĘ©ķ©ēń
231:ftHg̼³µ³ń
08/02/09 17:26:23
>>230
char Å éĘ«ÉĶāčÉĶČēČ¢Ŗ int Ę©ÉČéĘc
232:ftHg̼³µ³ń
08/02/09 17:26:24
>>230
>220Éͱ¤¢Ä éB
¶ńnameĢ5¶ŚĢ|C^i&(name[4])jšpiyoÉi[µ½¢Å·
233:ftHg̼³µ³ń
08/02/09 17:26:31
>>229
»¤¾ČBöĶ«æÅAöͻ۾©ēČB
234:ftHg̼³µ³ń
08/02/09 17:27:47
>>231
¢āA¾¢¶å¤Ō¾ė
æįńĘintĢ嫳ÉĪµÄźéę
235:ftHg̼³µ³ń
08/02/09 17:27:55
>>230
|C^Ķ©®IÉ»ĢTCYŖiŽ©ēAsizeofš|ÆéKvĶČ¢AĘ©©ČH
236:ftHg̼³µ³ń
08/02/09 17:28:25
>>234
²ßńŌᦽ
237:ftHg̼³µ³ń
08/02/09 17:28:46
ConceptGCCÅA190ĢR[hĢofstreamĘifstreamš
ostream&&Ęifstream&&Éstatic_castµ½ąĢšHķ¹½ēǤČé©ĘµÄݽŖA
G[¾Į½orzBEÓlQĘĶCuÜÅyńŢȩĮ½B
238:ftHg̼³µ³ń
08/02/09 17:29:06
sizeof(*name)É·é׫ʩB
239:ftHg̼³µ³ń
08/02/09 17:29:46
>>238
¢šÅ·©?
240:ftHg̼³µ³ń
08/02/09 17:30:00
>>219
KÉ c üå@SŅƩŮ®źĪĀ«Ģüźū©ēą¾µÄéʱŖ«ĮƩ©éę
241:203
08/02/09 17:46:21
>>225
>>240
·¢Ü¹ńBą¤źx²×ČØµÄŻÜ·B
242:ftHg̼³µ³ń
08/02/09 17:47:29
>>238-239
&5[name] Å¢¢¾ėB
243:ftHg̼³µ³ń
08/02/09 17:49:48
>>242
>232
244:ftHg̼³µ³ń
08/02/09 17:58:03
char ch='a';
cout <<(int) ch << '\n'; // 97
int dt=97;
cout << (char)dt<< '\n'; // 'a'
ĘÅ«éĢÉA
wchar_t ch1=' ';
cout <<(int) ch1 << '\n'; // 33340
int dt1=33440;
cout << (wchar_t)dt1<< '\n'; // 0x82a0
Ę' 'ŖÅČ¢ÅA82a0ŖoéĢĶČŗÅ·©H
i82a0Ķ33440Ģ16iÅ·j
245:ftHg̼³µ³ń
08/02/09 18:03:03
class test{
@char* str;
@int len;
public:
@test(const char* str);
};
test::test(const char* str0){
@len = strlen(str0);
@str = new char[len+1];
}
Ę·éĘ
(msvcr80d.dll) Ånh³źÄ¢Č¢įOŖ¶µÜµ½: 0xC0000005: ź 0xccccccc0 šĒŻŻÉANZXį½Ŗ¶µÜµ½B
±ńČę¤ČG[ŖÅÜ·A¢ė¢ėĘRgAEgµÄµÄŻÄ¢½ĢÅ·Ŗ
str = new char[len+1];ŖÅG[ŖoÄ¢éę¤Å·A±źš
str = new char[256];Ģę¤É·éĘG[ĶÅČ¢ĢÅ·ŖAčÅČÆźĪČēȢƩȢŷęĖH
źĢČńÅŵ天H
246:ftHg̼³µ³ń
08/02/09 18:10:38
¢ÄȢƱėĢoOš©ĀÆėĮľ¤bH
247:ftHg̼³µ³ń
08/02/09 18:10:39
>>245
»¤¢¤ĶęøAstr0Ģ·³ŖĄŪɢ¾Į½Ģ©šmFµÜµå¤B
248:ftHg̼³µ³ń
08/02/09 18:10:53
>>245
»ĢŖĶāčČ¢ę¤É©¦éB
256É·éĘG[ŖoȢƱė©ēŻÄA
DZ©Åobt@I[o[t[µÄéń¶įČ¢H
249:245
08/02/09 18:12:34
>>246-247
¦ĮĘ·ŻÜ¹ńAstr0ÉĶÅč̶šüźéę¤ÉµÄµÄ¢Ü·
16¶Ģ¶ńŵÄARXgN^ąÅlenĢ·³š\¦³¹éĘ«æńĘ16¶ÉČĮĢܷB
ܽAƶRXgN^ąÅstr0š\¦³¹éĘ«æńĘnµ½16¶Ģ¶ńŖ\¦³źÜ·
250:245
08/02/09 18:15:42
mainąÉ
char* buff = "abcdefghijklmnop";
test hoge(buff);
±ź¾ÆÅ·
]vČŖšSÄRgAEgµÄéĢűźÅR[hĶSÄÅ·
251:ftHg̼³µ³ń
08/02/09 18:16:08
ĄsŖšŻ¹ėB
test test1("abcdabcdabcdabcd");
ČēÜĮ½āčȢ͸B
252:251
08/02/09 18:22:16
²ßńAį¤Č
253:ftHg̼³µ³ń
08/02/09 18:23:47
>>245
»±šĻ¦½ē®©ēĘ¢ĮÄAoOĢo³Ŗ»±¾ĘĶĄēČ¢
ŗńŗńÖWȳ»¤ČŹĢźą^¤KvŖ é
254:ftHg̼³µ³ń
08/02/09 18:24:42
strÉĶANZXµČ¢ĢH
testąÅstrcpyµČÄ¢¢Ģ©H
ČÉŖāč½¢ń¾H
255:245
08/02/09 18:36:41
>>253
ń¦µ½ŖČOšRgAEgµÄ¢éĢÅ·ŖG[ŖoéóŌÅ·
>>254
»ĢŖŖ“ö©Ęą^ĮÄRgAEg³¹Ä¢éĢÅ·ŖG[ŖoéóŌÅ·
test::test(const char* str0){
@len = strlen(str0);
@str = new char[len+1];
@strcpy_s(str, len+1, str0);
@printf("%s\n", str0);
@printf("%d\n", len);
@printf("%s\n", str);
}
±ńČļɵܷĘ
abcdefghijklmnop
16
abcdefghijklmnop
Ę\¦³źÜ·ŖµĮ©čG[ŖÅÜ·
256:ftHg̼³µ³ń
08/02/09 18:44:34
mainĮıĘĶAMFCĘ©ĶgĮÄČ¢ķÆ©cc
rhµ½ē¼éĘ©¾¤æĶČ¢ęČH
257:ftHg̼³µ³ń
08/02/09 18:44:45
>>255
]vČincludeąRgAEgB
³ēÉG[Ŗ³ČéÜÅRgAEgB
VKvWFNgĘ쬵ÄAKvČR[h¾Æ\čtÆÄ®©µÄŻéB
258:ftHg̼³µ³ń
08/02/09 18:44:52
Ø©µ¢Č AæįńĘ®¼ęB
259:ftHg̼³µ³ń
08/02/09 18:46:07
class test{
@char* str;
@int len;
public:
@test(const char* str);
};
test::test(const char* str0){
@len = strlen(str0);
@str = new char[len+1];
}
int main(int, char**)
{
char* buff = "abcdefghijklmnop";
test hoge(buff);
return 0;
}
±źÅAG[ÉČéĮÄH
260:ftHg̼³µ³ń
08/02/09 18:53:05
ČĘą¤æÅͿȢB
VC++ 2005 Express Edition SP1 + Win2KSP4
261:ftHg̼³µ³ń
08/02/09 18:59:59
>>255
ĒĢsÅįO¶µÄé©Ė«~߽̩H
262:244
08/02/09 19:00:55
±æēą
263:ftHg̼³µ³ń
08/02/09 19:02:03
>>262
wchar_tŖ½¾ĢtypedefĢĀ«ÅĶ»¤ČéB
VC++6ʩB
264:244
08/02/09 19:05:57
>>263
Ķ¢AVC++2005EEÅ·ĢÅA
»¤¢¤ąĢČĢÅ·ĖB
ǤąÅµ½B
265:ftHg̼³µ³ń
08/02/09 19:06:46
2005ͳ·ŖÉtypedef¶įČ¢ń¶įČ¢©H
266:244
08/02/09 19:10:30
Ǥ·źĪm©ßēźÜ·©H
267:ftHg̼³µ³ń
08/02/09 19:14:15
>>266
wchat_tĘsizeofŖźv·é¢ėńČgŻŻ^ĘÅAI[o[[hµÄŻéB
268:ftHg̼³µ³ń
08/02/09 19:15:47
wchar_tšgŻŻ^ʵĵ¤RpCIvVŖ Į½Ķø
269:244
08/02/09 19:25:45
>>267
·¢Ü¹ńAęķ©čܹńB
>>268
MSDN
------
Visual C++ RpC IvV
/Zc:wchar_t (wchar_t šlCeBu^ʵÄFÆ)
/Zc:wchar_t šwčµČ¢źĶAwchar_t šč`·é©AܽĶ
wchar_t Ŗč`³ź½½Ģwb_[ t@CĢ¢øź©
(wchar.h ČĒ) šCN[h·éKvŖ čÜ·B
ŹķAwchar_t Ķ unsigned short ʵÄč`³źÜ·B
----
Ę Į½ĢÅA±ĢIvVšON/OFFµÄŻÜµ½ŖA
ŹĶĻķčܹńŵ½B
270:ftHg̼³µ³ń
08/02/09 19:50:27
namespace hoge
{
@int main(int argc, char *argv[])
@{
@}
}
±źšRpC·éĘA«Ę¾ķźÜ·BǤ·źĪ¢¢Å·©H
error LNK2019: ¢šĢOV{ _WinMain@16 ŖÖ ___tmainCRTStartup ÅQƳźÜµ½B
271:ftHg̼³µ³ń
08/02/09 19:51:37
>>244
coutĶCh¶ÉεĢȢB
wcoutšg¦ĪĒ¢B
wcout.imbue(locale(""));
wchar_t ch1= L' ';
wcout << (int)ch1 << L'\n';
int dt1 = 12354;
wcout << (wchar_t)dt1 << L'\n';
272:ftHg̼³µ³ń
08/02/09 19:52:06
>>270 ½Ŗµ½¢Ģ©l¦¼·Ę¢¢Å·B
273:ftHg̼³µ³ń
08/02/09 20:03:51
>>270
namespace hoge
{
@extern "C" int main(int argc, char *argv[])
@{
@}
}
274:ftHg̼³µ³ń
08/02/09 20:18:31
Ć×½„w
275:244
08/02/09 20:24:00
>>271
®«Üµ½B
̾ĘA¢ė¢ėČ_ÅŹŚÅµ½ĖB
čŖĘ¤²“¢Üµ½I
276:ftHg̼³µ³ń
08/02/09 20:29:58
æåĮĘØq˵½¢ĢÅ·ŖA
char *p
Ę¢¤|C^ÉAČÉ©µēĢAhXŖi[³źÄ¢ÄA
cout << p;
ʵ½ÉA¼É
ss[100] = {a b, c@...}; (ss[100] = \0 Ę·é)
p = ss;
¾Į½źĶAss[0]©ēÉ\0ŖoÄéÜÅøµÄA
cout << p;
ÅAabc... Ę\¦·éķÆÅ·ęĖBĀÜčzńĢvf100ĀŖŌÉĒŻńÅéĮıĘÅ·ęĖB
ÅĶAąµ|C^pÉi[³źÄ¢éAhXŖŹĢĻĢAhX
p = &a
ݽ¢Čź¾Į½ĶA
cout << p;
ÅĶAPÉĻaĢAhXŖoͳźé¾ÆÅ·ęĖB
ÅA±±Å^āČĢÅ·ŖA
p = &a;
cout << p;
¾Į½AnĶǤāĮÄpŖuĻvĢ|C^¾Ę»f·éĢŵ天HH
uzńvĢ|C^Ģźą éĢÅA½©µēĢū@Å»fµÄ¢éĘv¤ĢÅ·ŖA
ušŌÉøµÄ\0ŖoıȩĮ½ēĻĢ|C^v¾Ęµ½ē
ń\0ŖoÄéÜÅŌnšŌÉøµÄ¢©ČÄĶČēČ¢ĢÅ(\0ŖoÄČ¢©ąµźČ¢ĢÉ(ĻĢź))½©į¤CŖµÜ·B
|C^ÉĶAAhXā^Ģīń¾ÆÅĶČÄA»ĢAhXŖĻĢAhX©A»źĘązńĢęŖAhX©Ę¢¤īńąüĮÄ¢éńŵ天H
y[WÅVX\¦XbhĢõŽXźbčĢj
[XØÜ©¹Xg„IvVš\¦ÉĀŌµ2ch
4987śOÉXV/249 KB
S:undef