[•\ަ : ‘S‚Ä ÅV50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.sc‚Ģread.cgi‚Ö]
Update time : 10/30 03:13 / Filesize : 322 KB / Number-of Response : 1026
[‚±‚ĢƒXƒŒƒbƒh‚Ģ‘‚«ž‚Ż‚šķœ‚·‚é]
[{”Ā Å‹ß—§‚Į‚½ƒXƒŒ•”M‚¢ƒXƒŒˆź—— : {”Ā Å‹ß—§‚Į‚½ƒXƒŒ^‹LŽŅ•Źˆź——] [—ŽŽ—ƒXƒŒƒbƒhˆź——]


ŖƒLƒƒƒbƒVƒ…ŒŸõA—ŽŽ—ƒXƒŒ“®ģ‚šC³‚µ‚Ü‚µ‚½A‚²–Ą˜f‚š‚ØŠ|‚Æ‚µ‚Ü‚µ‚½

C++‘Š’kŽŗ part129



1 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń(ÜÆĮ®² dfcf-HvS5) mailto:sage [2017/01/09(ŒŽ) 14:49:27.56 ID:p96WJVyd0.net]
ŽŸƒXƒŒ‚š—§‚Ä‚éŽž‚Ķ–{•¶‚Ģ1s–Ś‚ÉˆČ‰ŗ‚š’ljĮ‚µ‚ĉŗ‚³‚¢
!extend:on:vvvvv:1000:512

C++‚ÉŠÖ‚·‚éŽæ–ā‚ā‚ē˜b‘č‚ā‚ē‚Ķ‚±‚æ‚ē‚Ö‚Ē‚¤‚¼B
‚½‚¾‚µŽæ–ā‚Ģ‘O‚É‚ĶFAQ‚Éˆź’Ź‚č–Ś‚š’Ź‚µ‚Ä‚­‚¾‚³‚¢B
IDE (VC++‚Č‚Ē)‚Č‚Ē‚ĢŽg‚¢•ū‚ĢŽæ–ā‚Ķ‚»‚ĢŠJ”­ŠĀ‹«‚ĢƒXƒŒ‚É‚ØŠč‚¢‚µ‚Ü‚·B

‘OƒXƒŒ
C++‘Š’kŽŗ part128
echo.2ch.net/test/read.cgi/tech/1480172629/

‚±‚ĢƒXƒŒ‚ą‚ę‚낵‚­‚ˁB
y‰SŽŅнŒ}zC/C++Žŗ Ver.100yŠĀ‹«ˆĖ‘¶OKz
echo.2ch.net/test/read.cgi/tech/1478440682/

”’·‚¢ƒ\[ƒX‚š“\‚é‚Ę‚«‚Ķ‚±‚±‚ցB”
@codepad.org/
@https://ideone.com/

[C++ FAQ]
https://isocpp.org/wiki/faq/
www.bohyoh.com/CandCPP/FAQ/ (“ś–{Œź)
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured

691 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f35b-tpgq) mailto:sage [2017/03/18(“y) 13:38:41.49 ID:waR+gchT0.net]
>>673
> callbacks.push_back(std::bind(&A::func, &a));
‚±‚ź‚šAthis‘¤‚ŖŠÖŒW‚Č‚¢“zA—Ⴆ‚ĪB‚É‚µ‚āA

callbacks.push_back(std::bind(&A::func, &b)); // (D)

‚¾‚ĘƒRƒ“ƒpƒCƒ‹’Ź‚ē‚Č‚¢‚¾‚ėHi‰“‚Ģ—\‘z‚¾‚Ŗj
‚¾‚Į‚½‚ēAķ‚É‚»‚Ģź‡‚́A

callbacks.push_back(a->*func));

‚ʏ‘‚Æ‚é‚ę‚ˁH‚Ę‚¢‚¤˜bB
(‚ą‚æ‚ė‚ń“œˆß\•¶‚Ȃ炻‚ź‚Å‚¢‚¢‚ń‚¾‚Ŗj

JavaScript‚Ķ(D)‚Å‚ąƒ

692 –¼‘OFRƒ“ƒpƒCƒ‹’Ź‚é‚ń‚¾‚ęBi‚Ü‚ ƒRƒ“ƒpƒCƒ‹Ž©‘Ģ‚Ŗ‚Č‚¢‚ń‚¾‚Ŗj
‚»‚µ‚ÄŽĄs‚ąo—ˆ‚éB(‚½‚¾‚µŽĄsŽž‚Ƀƒ“ƒo‚Ŗ‘µ‚Į‚ĂȂ¢Žž‚É‚Ķ‚ØŽ@‚µ‚Å)
[]
[‚±‚±‰ó‚ź‚Ă܂·]

693 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² 537b-gO1F) [2017/03/18(“y) 13:48:07.93 ID:ux+WuUO90.net]
>>677
‚‚܂č
>callbacks.push_back(a->*func))
‚ʏ‘‚Æ‚é‚ꂤ‚É‚µ‚½‚ēbind‚ÅthisŽg‚¤•K—v‚Č‚¢‚Į‚ĘbH
‚»‚¤‚Ȃ̂ł ‚ź‚Ī
callbacks.push_back([&]{a.func();});
‚ʏ‘‚Ƃ邩‚ē•Ź‚É—v‚ē‚Č‚¢

694 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f35b-tpgq) mailto:sage [2017/03/18(“y) 13:53:42.63 ID:waR+gchT0.net]
>>676
Œ©‚ā‚·‚³‚Ģˆ×‚ÉA‚Ę‚¢‚¤‚̂͂¢‚¢B

> this‚Ģbind‚¾‚Æ‹^–āŽ‹‚·‚闝—R‚́H
ƒvƒƒOƒ‰ƒ~ƒ“ƒOƒRƒXƒg‚ŖŒø‚Į‚ĂȂ¢‚©‚ēB
auto a_func = std::bind(&A::func, &a) ‚Č‚ēA
a ‚šŠĒ—‚·‚é‚© a_func ‚šŠĒ—‚·‚é‚©‚ŁA‰½‚ą‰B•Įo—ˆ‚ĂȂ¢‚µŒø‚Į‚ĂȂ¢B

‚½‚¾>>673‚Ż‚½‚¢‚ČŽg‚¢•ū‚¾‚ʁA
Œ^‚𑵂¦‚½Œ‹‰ŹA“Æ‚¶‹Lq‚ÅŽĄso—ˆ‚é‚©‚ēA‚±‚Ģ“_‚ĶŠm‚©‚ɃƒŠƒbƒg‚Ķ‚ ‚éB
‚±‚ź‚šŒ¾‚¢‚½‚©‚Į‚½‚Ģ‚©H

695 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² 537b-gO1F) [2017/03/18(“y) 13:59:12.74 ID:ux+WuUO90.net]
>>679
bind‚šŽg‚¤—˜“_‚Č‚ń‚Ä‚»‚ꂵ‚©–³‚¢‚ĘŽv‚¤‚ń‚¾‚Æ‚Ēc

696 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜŻŠŻøŽø MM5f-W3uL) mailto:sage [2017/03/18(“y) 14:02:09.89 ID:TmvAgLdoM.net]
>>674
C++‚ł́A‚Ø‘O‚Ŗ‚ ‚Ę‚©‚ē‚ā‚Į‚Ä‚éƒCƒ“ƒXƒ^ƒ“ƒX\’z‚šę‚É‚ā‚Į‚Ę‚Æ‚ę‚Į‚Ä‚¾‚Æ‚Ģ˜b

697 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜŻŠŻøŽø MM5f-W3uL) mailto:sage [2017/03/18(“y) 14:03:34.16 ID:TmvAgLdoM.net]
>>679
type_erasure‚Ģ˜b‚Ŗ‚µ‚½‚©‚Į‚½‚¾‚ƁH
C++‚Ģ‚±‚Ę’m‚ē‚ˁ[‚Č‚ē‹c˜_‚Ģ—]’n‚Ŗ‚Č‚³‚·‚¬
JavaScriptƒXƒŒ‚¢‚Æ‚ę

698 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f35b-tpgq) mailto:sage [2017/03/18(“y) 14:04:04.03 ID:waR+gchT0.net]
>>678
‚æ‚å‚Į‚Ęētēs‚µ‚ĂĐ\‚µ–ó‚Č‚¢‚ŖA

> >callbacks.push_back(a->*func))
> ‚ʏ‘‚Æ‚é‚ꂤ‚É‚µ‚½‚ēbind‚ÅthisŽg‚¤•K—v‚Č‚¢‚Į‚ĘbH
‚»‚¤B‚Ę‚¢‚¤‚©Œp³ŠÖŒW‚ ‚éó‘Ō‚Å‚µ‚©ƒƒ“ƒoŠÖ”Žg‚¦‚Č‚¢‚̂ȂēA
this‚šbind‚·‚éˆÓ–”‚Ŗ‚Č‚¢‚ĘŽv‚Į‚½B
(ˆų”‚Ķbind‚µ‚Ä‚¢‚¢‚ŖA‚±‚ź‚ąbind‚Č‚µ‚ÅŒp³‚Å‚ą‘‚Æ‚é>>669j

‚½‚¾‚µA>>673‚Ż‚½‚¢‚ɁAu–ß‚č’l‚Ęˆų”‚Ŗ“Æ‚¶‚Ȃ瓯‚¶ŠÖ”Œ^v‚Ę‚µ‚Ĉµ‚¦‚é‚̂ȂēA
Œp³ŠÖŒW‚Č‚µ‚ĢA::func‚ĘB::func‚𓯂¶‚Ɉµ‚¦‚é‚©‚ē‚ā‚Į‚Ļbind‚µ‚ĂȂ¢‚Ƒʖڂ¾‚ȁB


‚Ę‚±‚ė‚ŁA‚±‚±‚ŃNƒ[ƒWƒƒ‚šŽg‚¤‚±‚Ę‚ÉˆÓ–”‚Ķ‚ ‚é‚Ģ‚©H
> callbacks.push_back([&]{a.func();});
‚ą‚æ‚ė‚ńŽg‚Į‚Ä‚ą‚¢‚¢‚ŖAa.func‚ŖƒNƒ[ƒWƒƒ“ą‚̕ϐ”‚š•ߑ؂µ‚Ä‚¢‚é‚Ķ‚ø‚ą‚Č‚¢‚µA’¼Ś
> callbacks.push_back(a->*func));
‚Å‘S‚­–ā‘č‚Č‚­‚ˁH

699 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² 2322-ghbJ) mailto:sage [2017/03/18(“y) 14:06:49.68 ID:WJ1Bgcsq0.net]
³’¼
std::function<...> f[] = a.func;
‚ŏ‘‚Æ‚é‚Č‚ē‘‚«‚½‚¢
‘‚Æ‚Č‚¢‚©‚ēbindŽg‚Į‚Ä‚é



700 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² 2322-ghbJ) mailto:sage [2017/03/18(“y) 14:07:07.58 ID:WJ1Bgcsq0.net]
[]‚¢‚ē‚Č‚¢

701 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² a30e-BL3h) mailto:sage [2017/03/18(“y) 14:10:17.22 ID:JpaAP8SC0.net]
”ŽžbindŽg‚킸lambda‚ÅĻ‚Ü‚·‚ę‚Ė

702 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜŻŠŻøŽø MM5f-W3uL) mailto:sage [2017/03/18(“y) 14:10:36.75 ID:TmvAgLdoM.net]
>>683
a‚šƒLƒƒƒvƒ`ƒƒ‚·‚é•K—v‚Ŗ—L‚邾‚낤‚Ŗ
‚Ü‚¶‚Åclass‚ĘƒCƒ“ƒXƒ^ƒ“ƒX‚Ģˆį‚¢‚š‚ą‚¤­‚µŠw‚ń‚Å‚­‚ź

703 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (µÆĶß¹ Sr97-w0Gz) mailto:sage [2017/03/18(“y) 14:11:31.23 ID:2lr6MuOgr.net]
‚Č‚ń‚¾AŒp³‚ĢˆÓ–”‚š’m‚ē‚Č‚¢‚ń‚¶‚į‚Č‚­‚Ä
std::bind‚šŒ©‚ÄECMAScript‚Ģbinding‚Ę“Æ‚¶‚ą‚Ģ‚¾‚ĘŠØˆį‚¢‚µ‚Ä‚¢‚½‚¾‚Æ‚©B
‚±‚ź‚Å‚Ķ˜b‚ŖŠš‚Ż‡‚¤‚Ķ‚ø‚Ŗ‚Č‚¢

704 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² 537b-gO1F) [2017/03/18(“y) 14:14:40.36 ID:ux+WuUO90.net]
>>687
V‚µ‚¢•¶–@’ljĮ‚µ‚Äa->
*func ‚Į‚ď‘‚¢‚½‚ēa‚šŽQĘƒLƒƒƒvƒ`ƒƒ‚µ‚Äfunc‚šŒÄ‚яo‚·ŠÖ”ƒIƒuƒWƒFƒNƒg‚š•Ō‚·‚ꂤ‚É‚µ‚Ăقµ‚¢‚炵‚¢‚ęB

705 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜŻŠŻøŽø MM5f-W3uL) mailto:sage [2017/03/18(“y) 14:17:30.12 ID:TmvAgLdoM.net]
>>689
ŠÖ”‚šˆź‹‰ƒIƒuƒWƒFƒNƒg‚É‚µ‚ė‚Ę‚¢‚¤Žå’£HH
•Ź‚ĢŒ¾Œź‚Å‚ā‚ź‚Ę‚µ‚©‚¢‚¢‚ꂤ‚Ŗ‚Č‚¢‚ȁc

706 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f35b-tpgq) mailto:sage [2017/03/18(“y) 14:20:22.86 ID:waR+gchT0.net]
>>681-682
> ƒCƒ“ƒXƒ^ƒ“ƒX\’z
‚»‚ź‚ĶƒCƒ“ƒXƒ^ƒ“ƒX\’z‚ł͂Ȃ­AŽg‚¤•Ø‚¾‚Æ‚Ę‚č‚ ‚¦‚ø“ü‚ź‚Ä‚é‚ń‚¾‚ęB
a ‚š\’z‚µ‚Ä‚¢‚é‚̂ł͂Ȃ­A a.func ‚̐”Ž® k*x+a ‚šŽg‚¢‚½‚¢‚©‚ēA
‚ʂ肠‚¦‚ø a ‚Ę k ‚É’l‚š“ü‚ź‚ÄŽg‚Į‚Ä‚¢‚邾‚ƁB
”Ž®‚šŠŌŽŲ‚肵‚Ä‚¢‚邾‚Æ‚Č‚ń‚¾B

‚ą‚Į‚Ę a ‚Ŗ•”ŽG‚ŁA100ŒĀ‚­‚ē‚¢ƒƒ“ƒo‚šŽ‚Į‚Ä‚¢‚éƒxƒNƒgƒ‹’l‚¾‚Į‚½‚Ę‚µ‚āA
calc‚ą calc_0 ` 'calc_100 ‚Ę‚©‚ ‚Į‚½‚Ę‚µ‚āA‚»‚Ģ‚¤‚æ1ŒĀ‚¾‚Æ’š“x‚¢‚¢”Ž®‚Ŗ‚ ‚Į‚½‚ēA‚»‚ź‚šŽŲ‚č‚銓‚¶B
‚±‚Ģƒfƒ^ƒ‰ƒ‚Į‚Õ‚č‚ĶC++‚É‚¢‚é‚Ę—‰š•s”\‚¾‚ŖAJavaScript‚ÉŠµ‚ź‚é‚ĘC++‚ŖFX–Ź“|‚ÅŽd•ū‚Č‚¢B
‚»‚ą‚»‚ąƒeƒ“ƒvƒŒ[ƒg‚ąŒ^Į‹Ž‚ąÅ‰‚©‚ēvar‚¾‚Ę‚ā‚ē‚Č‚­‚Ä‚¢‚¢‚ń‚¾‚ęB
(‚»‚Ģ•ŖƒfƒoƒbƒO‚Ŗh‚¢‚Ŗ)

707 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f35b-tpgq) mailto:sage [2017/03/18(“y) 14:24:47.73 ID:waR+gchT0.net]
>>689
‚¢‚ā‚»‚Ģ•¶–@‚Ķ‚·‚Å‚ÉC++0x‚É‚ ‚é‚Ƃ̗‰š‚¾‚ŖA‚±‚ꂪŠŌˆį‚¢‚©H
Šł‚É>>663‚ÉURLć‚°‚½‚ŖB
> ƒƒ“ƒo[‚šŽw‚·ƒ|ƒCƒ“ƒ^[‰‰ŽZŽq .* ‚Ø‚ę‚Ń ->* ‚́A“Į’č‚ĢƒNƒ‰ƒXEƒIƒuƒWƒFƒNƒg‚Ģƒƒ“ƒo[‚šŽw‚·ƒ|ƒCƒ“ƒ^[‚šƒoƒCƒ“ƒh‚·‚éŪ‚É—p‚¢‚ē‚ź‚Ü‚·B

708 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜŻŠŻøŽø MM5f-W3uL) mailto:sage [2017/03/18(“y) 14:26:29.15 ID:TmvAgLdoM.net]
>>691
> ‚»‚ź‚ĶƒCƒ“ƒXƒ^ƒ“ƒX\’z‚ł͂Ȃ­AŽg‚¤•Ø‚¾‚Æ‚Ę‚č‚ ‚¦‚ø“ü‚ź‚Ä‚é‚ń‚¾‚ęB
>‚ʂ肠‚¦‚ø a ‚Ę k ‚É’l‚š“ü‚ź‚ÄŽg‚Į‚Ä‚¢‚邾‚ƁB
>”Ž®‚šŠŌŽŲ‚肵‚Ä‚¢‚邾‚Æ‚Č‚ń‚¾B
‚»‚ź‚šƒCƒ“ƒXƒ^ƒ“ƒX\’z‚Į‚Ä‚¢‚¤‚ń‚¾‚ęAŠo‚¦‚Ę‚Æ‚Ī‚©

>‚ą‚Į‚Ę a ‚Ŗ•”ŽG‚ŁA100ŒĀ‚­‚ē‚¢ƒƒ“ƒo‚šŽ‚Į‚Ä‚¢‚éƒxƒNƒgƒ‹’l‚¾‚Į‚½‚Ę‚µ‚āA
>calc‚ą calc_0 ` 'calc_100 ‚Ę‚©‚ ‚Į‚½‚Ę‚µ‚āA‚»‚Ģ‚¤‚æ1ŒĀ‚¾‚Æ’š“x‚¢‚¢”Ž®‚Ŗ‚ ‚Į‚½‚ēA‚»‚ź‚šŽŲ‚č‚銓‚¶B
‚»‚¤‚¢‚¤ź‡‚Ķ‚Ø‘O‚ĢŒ¾‚¤‚ʂ肠‚¦‚ø‚¾‚Æ‚š“ü‚ź‚ē‚ź‚éƒRƒ“ƒXƒgƒ‰ƒNƒ^ģ‚é‚ń‚¾‚ę
‚Ü‚Ÿ•’Ź‚ĢŠ“«‚Ȃ炻‚Ģ•”•Ŗ‚ĶƒTƒuƒNƒ‰ƒX‚Ę‚µ‚Đ؂čo‚·‚Æ‚Ē‚Ė

>‚±‚Ģƒfƒ^ƒ‰ƒ‚Į‚Õ‚č‚ĶC++‚É‚¢‚é‚Ę—‰š•s”\‚¾‚ŖAJavaScript‚ÉŠµ‚ź‚é‚ĘC++‚ŖFX–Ź“|‚ÅŽd•ū‚Č‚¢B
>‚»‚ą‚»‚ąƒeƒ“ƒvƒŒ[ƒg‚ąŒ^Į‹Ž‚ąÅ‰‚©‚ēvar‚¾‚Ę‚ā‚ē‚Č‚­‚Ä‚¢‚¢‚ń‚¾‚ęB
–Ź“|‚Č‚ējs‚ŏ‘‚¢‚Ę‚Æ‚Ī‚¢‚¢‚ń‚¶‚į‚Č‚¢‚Å‚·‚©‚Ė

709 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜŻŠŻøŽø MM5f-W3uL) mailto:sage [2017/03/18(“y) 14:27:43.20 ID:TmvAgLdoM.net]
>>692
ŠŌˆį‚¢



710 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f35b-tpgq) mailto:sage [2017/03/18(“y) 14:43:08.69 ID:waR+gchT0.net]
>>684
‚æ‚Ȃ݂ɉ½‚Å‚»‚ź‘‚Æ‚Č‚¢‚ń‚¾H

std::function<...> f_bound = a.func; // (E) ƒoƒCƒ“ƒhĻ‚Ż
std::function<...> f_not_bound = A::func; // (F)@–¢ƒoƒCƒ“ƒhA‘ę1ˆų”‚Ķthis

‚Å•¶–@“I‚É–ā‘č‚Č‚¢‚µA•’ʂɂ±‚¤‚¾‚ĘŽv‚Į‚Ä‚¢‚½B

‚½‚¾‚µ‰“‚ĶC++‚сƒ“ƒoƒ|ƒCƒ“ƒ^‚šŽg‚Į‚½‚±‚Ƃ͂Ȃ¢‚©‚ēA
Œ»Ż‘ʖڂȂ̂Ȃ牽‚©——R‚Ŗ‚ ‚é‚Ģ‚¾‚낤‚Æ‚ĒA
‹t‚É‚»‚¤‚¾‚ʐM‚¶Ų‚Į‚Ă؂čA
JavaScript‚Ķ‚±‚ꂪ‚Å‚«‚Č‚¢ķ‚Ébind‚Ŗ•K—v‚Č‚Ģ‚ÅƒEƒU‚­‚ÄŽd•ū‚Č‚©‚Į‚½B—Ⴆ‚΁A

var func = someInstance.someMethod.bind(someInstance);

‚ʏķ‚É2‰ń someInstance ‚ʏ‘‚­•K—v‚Ŗ‚ ‚čA‚±‚ꂪƒEƒUƒCB
‚½‚¾C++‚ą“Æ‚¶‚­•³‚Ȃ̂©H

711 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜŻŠŻøŽø MM5f-W3uL) mailto:sage [2017/03/18(“y) 14:55:00.20 ID:TmvAgLdoM.net]
>>695
class‚ĘƒCƒ“ƒXƒ^ƒ“ƒX‚Ģˆį‚¢‚Ŗ‚ķ‚©‚Į‚ĂȂ¢‚¤‚æ‚Ķƒ}ƒW‚Å—‰š‚Å‚«‚Č‚¢‚¾‚낤‚©‚ē‚ą‚¤’ś‚ß‚ė

JavaScript‚Ģbindˆź’ʂ蒲‚ׂ½‚ę
js‚ĶŠÖ”Œ^‚ÉˆĖ‚Į‚ĂăCƒ“ƒXƒ^ƒ“ƒX‚Į‚čl‚¦•ū‚Ŗ‚Č‚¢‚ń‚¾‚Č

712 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² a30e-BL3h) mailto:sage [2017/03/18(“y) 15:03:41.03 ID:JpaAP8SC0.net]
Åˆ«ˆź•”menber‚ĢŽQĘ‚¾‚ÆŽę‚ē‚ź‚é•\‹L‚Ę“Æ‚¶‚ŁA‚»‚ꂪƒƒ“ƒoŠÖ”‚¾‚ĘƒCƒ“ƒXƒ^ƒ“ƒX‘S•”‚ŖlŽæ‚ɂȂé‚Ę‚©•|‚·‚¬B

713 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f35b-tpgq) mailto:sage [2017/03/18(“y) 15:44:12.23 ID:waR+gchT0.net]
>>696
ƒCƒ“ƒXƒ^ƒ“ƒX‚ĘƒNƒ‰ƒX‚Ģˆį‚¢‚Ŗ•Ŗ‚©‚Į‚ĂȂ¢‚Ģ‚Ķ‚Ø‘O‚¾‚ėB
>>695‚šJavaScript‚ōċL‚·‚é‚ʁA

var a = new A();
var func_0 = a.func; // bind‚³‚ź‚Č‚¢@©@’¼Š““I‚É‚ĶbindĻ‚݂ł ‚Į‚Ä—~‚µ‚¢
var func_1 = A.prototype.func; // bind‚³‚ź‚Č‚¢@©@‚±‚ź‚ĶOK

‚ŁAJavaScript‚Ķ—¼•ū‚Ę‚ąbind‚³‚ź‚Č‚¢‚ń‚¾‚ęB
‚¾‚©‚瑼Œ¾Œź‚©‚ē—ˆ‚½˜A’†‚Ķbind‚š–Y‚ź‚Ä‚±‚±‚ŃoƒO‚é‚ĘŒ¾‚ķ‚ź‚Ä‚¢‚éB
‚»‚́u‘¼Œ¾Œźv‚Į‚Ă͉̂“‚͂ĂĮ‚«‚čC++‚¾‚ĘŽv‚Į‚Ä‚¢‚½‚©‚ēA695‚Ģ—‰š‚ɂȂéB

‚Ę‚±‚낪C++‚ą“Æ—l‚É•³‚Č‚ē‚Ü‚ ‚»‚ź‚ł悵B
‰ü‚߂Č©‚é‚ʁA‘ć“üo—ˆ‚Č‚¢‚Į‚Ä‚±‚Ę‚©H‚‚܂čAˆČ‰ŗ‚Ŗo—ˆ‚Č‚¢B

std::function<...> f = a->*func; // bindĻ‚Ż
std::function<...> f = a.*func; // bindĻ‚Ż

‚Ȃ那‚ĒC++‚ą•³‚¾‚ȁB‚½‚¾AŽĄ‘•Ž©‘Ģ‚Ķ>>669‚ŏo—ˆ‚é‚Ģ‚¾‚©‚ēA
‰½ŒĢ‚±‚ź‚šo—ˆ‚Č‚¢‚ꂤ‚É‚µ‚½‚Ģ‚©‚͓䂾‚ŖB

714 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² 838b-UnlH) mailto:sage [2017/03/18(“y) 15:49:31.59 ID:YXP7lJmh0.net]
JavaScriptc
‚ ‚ź‚ĶƒCƒ“ƒXƒ^ƒ“ƒX‚µ‚©‚Č‚¢‚Ż‚½‚¢‚ČŽ—”ń^2ƒIƒuƒWƒFƒNƒgŽwŒü‚¶‚į‚ńH
‚ ‚Ü‚č‚Ģ“‚³‚ɔᔻ‚Ŗ‚‚Ü‚Į‚½‚Ģ‚©AƒGƒbƒZƒ“ƒX6‚Ę‚©‚ÅprototypeƒL[ƒ[ƒh‚Ŗ“±“ü‚³‚ꂽ‚Ŗ
‚»‚ź‚®‚ē‚¢‚Ģ‚ą‚ń

‚æ‚ČC++‚Ģ˜b‚Ę‚µ‚āAƒNƒ[ƒWƒƒ‚Ķ‚ ‚ń‚ÜŒp³ŠÖŒW–³‚¢
f.calc(x, 2)‚šfunc(x)‚Ģ”@‚­ˆµ‚¢‚½‚Æ‚ź‚Īf‚ĢŠ—L‚Å‚Øk

715 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² 838b-UnlH) mailto:sage [2017/03/18(“y) 15:55:28.34 ID:YXP7lJmh0.net]
ŒĀl“I‚É‚Ķstd::bind(&F::calc, f, _1, 2)‚Å‚·‚ēF::calc‚Ģ’¼Ścall‚ɍœK‰»‚³‚ꂸ‚ɁA
ŠŌŚƒƒ‚ƒŠƒAƒhƒŒƒbƒVƒ“ƒOŒć‚ĢcallŽ~‚Ü‚č‚ɂȂé‚ń‚ł͂Ȃ¢‚©‚ĘŠėœœ‚µ‚Ä‚ī‚é
ƒeƒ“ƒvƒŒ[ƒg‚šŽg‚¦‚éŠĀ‹«‚É‚ ‚č‚Č‚Ŗ‚ē
ŠÖ”‚Ö‚Ģƒ|ƒCƒ“ƒ^‚Č‚ĒŽg‚¤‚̂͋³ˆēć‚É‚ę‚낵‚­‚Č‚¢

716 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f35b-tpgq) mailto:sage [2017/03/18(“y) 16:02:10.31 ID:waR+gchT0.net]
‚Č‚ØC#‚ł͂ ‚Į‚³‚č‘‚Ƃ邱‚Ę‚Ŗ”»–¾‚µ‚½B
> class DelegateTest
> {
> static void Main()
> {
> Person p1 = new Person("‹SŠŪ”ü‹P");
> Person p2 = new Person("_–³ŒŽ‚ß‚®‚Ż");
>
> ShowMessage show = new ShowMessage(p1.ShowName);
> show += new ShowMessage(p2.ShowName);
> show += new ShowMessage(A);
> show += new ShowMessage(B);
>
> show();
> }
>
> // Œ‹‰Ź
> // –¼‘O: ‹SŠŪ”ü‹P
> // –¼‘O: _–³ŒŽ‚ß‚®‚Ż
> // A ‚ŖŒÄ‚Ī‚ź‚Ü‚µ‚½B
> // B ‚ŖŒÄ‚Ī‚ź‚Ü‚µ‚½B
> ufcpp.net/study/csharp/sp_delegate.html

717 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f35b-tpgq) mailto:sage [2017/03/18(“y) 16:02:29.43 ID:waR+gchT0.net]
‚»‚µ‚ÄC++‚Å‚ąo—ˆ‚»‚¤‚Č‚ń‚¾‚ŖAAA
> Human alice;
> printf("Alice");
> (alice.*pf5)();
>
> // ‚؂܂Æ
> int Human::*x = &Human::age;
> alice.age++;
> printf("age = %d (%d)", alice.*x, &(alice.*x));
> qiita.com/Ted-HM/items/282785fcdcd06fb59642

718 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f35b-tpgq) mailto:sage [2017/03/18(“y) 16:27:36.88 ID:waR+gchT0.net]
>>699
> Ž—”ń^2ƒIƒuƒWƒFƒNƒgŽwŒü‚¶‚į‚ńH
‚ ‚ź‚ĶƒNƒ‰ƒXƒx[ƒX‚ł͂Ȃ­ƒvƒƒgƒ^ƒCƒvƒx[ƒX‚¾‚©‚ēB
‚»‚ź‚š–³—–ī—ƒNƒ‰ƒXƒx[ƒX‚Ę‚µ‚ÄŽg‚Ø‚¤‚Ę‚·‚é‚©‚炨‚©‚µ‚ČŽ–‚ɂȂéB
Å‰‚©‚ēƒvƒƒgƒ^ƒCƒvƒx[ƒX‚Ę‚µ‚ÄŽg‚¦‚Ή½‚ą–ā‘č‚Č‚­A
ŽĄŪ‚É•\Œ»o—ˆ‚é”ĶˆĶ‚ąƒNƒ‰ƒXƒx[ƒX‚ę‚肹L‚¢‚̂ŁA‚Č‚©‚Č‚©–Ź”’‚¢B

> ‚æ‚ČC++‚Ģ˜b‚Ę‚µ‚āAƒNƒ[ƒWƒƒ‚Ķ‚ ‚ń‚ÜŒp³ŠÖŒW–³‚¢
JavaScript‚Å‚ąŒp³‚ĘƒNƒ[ƒWƒƒ‚Ķ‘S‚­ŠÖŒW‚Č‚¢B

> f.calc(x, 2)‚šfunc(x)‚Ģ”@‚­ˆµ‚¢‚½‚Æ‚ź‚Īf‚ĢŠ—L‚Å‚Øk
‚±‚ź‚Ķ‚»‚¤‚¾‚ĘŽv‚¤B
f‚Ŗf_bound‚ɕςķ‚Į‚Ä‚ąŽčŠŌ‚Ķ“Æ‚¶‚ŁAˆÓ–”‚ˁ[‚Ę‚¢‚¤‚Ģ‚ŖÅ‰‚ĢŽå’£B

>>700
> ŒĀl“I‚É‚Ķstd::bind(&F::calc, f, _1, 2)‚Å‚·‚ēF::calc‚Ģ’¼Ścall‚ɍœK‰»‚³‚ꂸ‚ɁA
‚Ę‚¢‚¤‚©‚±‚ź‚šŠś‘Ņ‚·‚é‚Ģ‚ŖC++‚Ȃ̂©H
‚»‚ź‚Ķ‚³‚·‚Ŗ‚ÉŒµ‚µ‚¢‚Ę‚ĶŽv‚¤‚ŖAŠm‚©‚É–³—‚ł͂Ȃ¢‚ŖB

> ƒeƒ“ƒvƒŒ[ƒg‚šŽg‚¦‚éŠĀ‹«‚É‚ ‚č‚Č‚Ŗ‚ē
> ŠÖ”‚Ö‚Ģƒ|ƒCƒ“ƒ^‚Č‚ĒŽg‚¤‚̂͋³ˆēć‚É‚ę‚낵‚­‚Č‚¢
‚±‚ź‚͂ǂ¤‚¢‚¤ˆÓ–”H‚³‚·‚Ŗ‚ɍ”‰ń‚Ģć‹L
> std::bind(&F::calc, f, _1, 2)
‚šƒeƒ“ƒvƒŒ[ƒg‚ŏķ‚É’¼Ścall‚·‚é‚ꂤ‚É‚Ķo—ˆ‚Č‚¢‚¾‚ėB
‚Ę‚¢‚¤‚©ƒeƒ“ƒvƒŒ[ƒg‚ʊ֐”ƒ|ƒCƒ“ƒ^‚ĢŽg‚¤”ĶˆĶ‚Ķ”ķ‚ē‚Č‚¢‚ĘŽv‚¤‚ŖBi‘ć‘֏o—ˆ‚Č‚¢j

719 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² 838b-UnlH) mailto:sage [2017/03/18(“y) 16:35:15.55 ID:YXP7lJmh0.net]
>> ŒĀl“I‚É‚Ķstd::bind(&F::calc, f, _1, 2)‚Å‚·‚ēF::calc‚Ģ’¼Ścall‚ɍœK‰»‚³‚ꂸ‚ɁA
>‚Ę‚¢‚¤‚©‚±‚ź‚šŠś‘Ņ‚·‚é‚Ģ‚ŖC++‚Ȃ̂©H
>‚»‚ź‚Ķ‚³‚·‚Ŗ‚ÉŒµ‚µ‚¢‚Ę‚ĶŽv‚¤‚ŖAŠm‚©‚É–³—‚ł͂Ȃ¢‚ŖB
‚Å‚«‚é
F:calc()‚͉¼‘zŠÖ”‚ł͖³‚¢‚µA
•\‹L‚Ģ—į‚Å‚Ķ&F:calcŽ©‘Ģ‚ŖiF::calc()‚Ę“Æ‚¶ƒVƒOƒlƒ`ƒƒ‚šŽ‚Ā•Ź–¼‚ĢŠÖ”‚Ę‚©‚Ɂj·‚µ‘Ö‚¦‚ē‚ź‚Ķ‚µ‚Č‚¢‚Ģ‚Å
–{Žæ“I‚ɂ͒¼Ścall‚ʂȂé‚ׂ«‚ą‚Ģ



720 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f35b-tpgq) mailto:sage [2017/03/18(“y) 16:38:53.29 ID:waR+gchT0.net]
‚ ‚ •Ŗ‚©‚Į‚½B
>>702‚Ķ‚±‚æ‚ē‚̉šŽßŠŌˆį‚¢A‚±‚ź‚Ķo—ˆ‚Ä‚¢‚é‚킯‚ł͂Ȃ¢‚ˁB
.* ‚Ę ->* ‚Ķ‚ ‚­‚܂ł»‚Ģź‚ŌĂń‚Å‚¢‚邾‚Ƃł ‚Į‚āA
bindĻ‚Ż‚ĢŠÖ”‚š•Ō‚µ‚Ä‚­‚ź‚é‚킯‚ł͂Ȃ¢‚̂ˁB

721 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜŻŠŻøŽø MM5f-W3uL) mailto:sage [2017/03/18(“y) 16:42:00.60 ID:TmvAgLdoM.net]
‚ą‚¤‚¢‚¢‚ę
jsƒXƒŒ‚Å‚ā‚ź‚ę

722 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f35b-tpgq) mailto:sage [2017/03/18(“y) 17:00:49.05 ID:waR+gchT0.net]
>>704
> –{Žæ“I‚ɂ͒¼Ścall‚ʂȂé‚ׂ«‚ą‚Ģ
‚»‚ź‚šŒ¾‚¢‚¾‚µ‚½‚ē‘S•”‚¾‚ėB‚»‚¤‚Č‚Į‚ĂȂ¢‚©‚ēFX–ā‘č‚Ȃ킯‚ŁB
‚½‚¾‚±‚ź‚ÉŠÖ‚µ‚Ä‚ĶƒXƒ^ƒbƒNƒCƒ[ƒW‚𑵂¦‚ź‚Ī‚¢‚¢‚¾‚Æ‚¾‚©‚ēA‚ā‚é‹C‚¾‚Æ‚¾‚ˁB

Å‰‚©‚ēƒXƒ^ƒbƒNƒCƒ[ƒW‚𑵂¦‚éŒÄ‚яo‚µ‚š—pˆÓ‚µ‚Ä‚ą‚¢‚¢‚µA
ˆź’U>>669‚ĢŒ`Ž®‚Å2’iŠKŒÄ‚яo‚µ‚É‚µ‚āAƒCƒ“ƒ‰ƒCƒ“‚É‚µ‚Ä‚ą‚¢‚¢B
(‚½‚¾‚µƒCƒ“ƒ‰ƒCƒ““WŠJ‘ĪŪ‚ĶŠO‘¤ŠÖ”‚Č‚Ģ‚Å]—ˆÅ“K‰»ƒ‹[ƒ`ƒ“‚ĶŽg‚¦‚Č‚¢j
‚¢‚ø‚ź‚É‚µ‚Ä‚ą“‚­‚͂Ȃ¢‚ęB‚ā‚é‹C‚¾‚Æ‚Ģ–ā‘肾‚ˁB

723 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² c353-PkJR) mailto:sage [2017/03/18(“y) 17:01:39.49 ID:U4KC6daQ0.net]
’mŽÆ‚Ŗ‚Č‚¢‚̂ɉ½ŒĢŒź‚낤‚Ę‚·‚é

724 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² 838b-UnlH) mailto:sage [2017/03/18(“y) 17:59:03.48 ID:YXP7lJmh0.net]
>‚»‚ź‚šŒ¾‚¢‚¾‚µ‚½‚ē‘S•”‚¾‚ėB‚»‚¤‚Č‚Į‚ĂȂ¢‚©‚ēFX–ā‘č‚Ȃ킯‚ŁB
std::bind(&F::calc, f, _1, 2)‚Ę‚¢‚¤‹Lq‚šŒ©‚½ƒRƒ“ƒpƒCƒ‰‚Ķƒ|ƒCƒ“ƒ^‚ŖŠÖŒW‚·‚é‚Ģ‚ÅF::calc()‚š’¼ŚŒÄo‚µ‚µ‚Ä—Ē‚¢‚ą‚Ģ‚©–Ą‚¤‚©‚ą‚µ‚ź‚Č‚¢‚ŖA
std::bind(<F::calc‚š•\‚·ŠÖ”ƒIƒuƒWƒFƒNƒg>, f, _1, 2)‚Č‚ē
std::bind()Ž©‘Ģ‚Ģ‘‚«•ū‚āŠÖ”ƒIƒuƒWƒFƒNƒg‚Ģ‘‚«•ū‚Ŗ‚ꂣ‚ĒƒAƒŒ‚łȂ¢ŒĄ‚č‚ĶF::calc()’¼ŚŒÄo‚µ‘Š“–‚ĢƒR[ƒh‚ɂȂé
‘S•”ˆź‚Ę‚¢‚¤‚Č‚ēˆź‚Č‚ń‚¾‚낤‘”‘O‚Ģ’†‚Å‚Ķ(ry

725 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f35b-tpgq) mailto:sage [2017/03/18(“y) 20:18:06.83 ID:waR+gchT0.net]
>>709
‚¢‚āŒ‹‹Ē‰½‚ŖŒ¾‚¢‚½‚¢‚ń‚¾H

ŒNF700ustd::bind(&F::calc, f, _1, 2)‚ĶÅ“K‰»‚³‚ź‚Č‚¢‚©‚ącv
‰“F703u‚»‚ź‚šŠś‘Ņ‚·‚é‚Ģ‚ĶŒµ‚µ‚¢‚¾‚ėv
ŒNF704u‚¢‚ā‚Å‚«‚邵A‚»‚¤‚Č‚é‚ׂ«‚¾v
‰“F707u‚»‚č‚į‚»‚¤‚¾‚Ŗv

lŠŌ‚ŖŒ©‚ź‚ĪŠČ’P‚É•Ŗ‚©‚邱‚Ę‚Ŗo—ˆ‚Č‚¢‚Č‚ń‚āI‚Č‚ń‚Ă̂͑S•”‚¾‚ęB
ˆź”Ź“I‚É‚Ķƒ|ƒCƒ“ƒ^‚ɂȂĮ‚½Žž“_‚ōœK‰»‚Ŗ“‚­‚Č‚éB

f->calc(x,k); // ’¼ŚŒÄ‚яo‚µ
std::bind(&F::calc, f, _1, 2)(x); // ’¼ŚŒÄ‚яo‚µ
std::function<...> f; // (G)
f = std::bind(&F::calc, f, _1, 2); // (H)
f(x); // 2’iŒÄ‚яo‚µ // (I)
f = std::bind(&F::calc, f, 2, _1); // (J)
f(k); // 2’iŒÄ‚яo‚µ // (K)

C++‚ł́u–ß‚č’l‚Ęˆų”v‚Ŗ‡‚Į‚Ä‚½‚ē—Ē‚¢‚ń‚¾‚ėH
‚¾‚Į‚½‚ē(G)‚Ķ‚¢‚Æ‚é‚ę‚ȁH
‚±‚Ģź‡Af‚É‚Ķ(H),(J)‚Ę‚ą‰Ā”\‚Č‚ń‚¾‚ęB
ƒoƒCƒ“ƒh‚³‚ź‚Ä‚¢‚é‚̂͑ę1ˆų”‚Å‚ą‘ę2ˆų”‚Å‚ą‚¢‚¢B
‚Ę‚±‚낪‚±‚ź‚šŽĄs‚·‚éŪA’¼ŚŒÄ‚яo‚µ‚É“WŠJ‚·‚éˆ×‚ɂ́A
(I)‚Ę(K)‚ÅŒÄ‚Ńo‚µ•ū–@‚š•Ļ‚¦‚Č‚Æ‚ź‚΂Ȃē‚Č‚¢B
ƒXƒ^ƒbƒNć‚Ģˆų”‚ĢˆŹ’u‚ŖˆŁ‚Ȃ邩‚ē‚ˁB
‚»‚µ‚Äˆź”Ź“I‚É‚Ķ(H)(J)‚͂ǂ±‚©‰“‚¢‚Ę‚±‚ė‚Å‘ć“ü‚³‚ź‚Ă؂čA
’Źķ‚Ķ‚»‚ĢŠÖ”ŠO‚©‚ē—^‚¦‚ē‚ź‚éB
‚¾‚©‚ēÅ“K‰»‚͓‚¢‚ń‚¾‚ęB

726 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f35b-tpgq) mailto:sage [2017/03/18(“y) 20:18:41.61 ID:waR+gchT0.net]
ƒ[ƒJƒ‹ŠÖ”“ą‚Åf‚Ŗ•Ŗ‚©‚č‚ā‚·‚­‘ć“ü‚³‚ź‚Ä‚¢‚鏼‡‚ĶŠ®‘S‚ɍœK‰»o—ˆ‚éB
“Æ—l‚Ģ•ū–@‚ÅŠO•”‚©‚ē—^‚¦‚ē‚ź‚½ź‡‚Å‚ąķ‚ɍœK‰»‚·‚éˆ×‚ɂ́A
f‚É‘ć“ü‚³‚ź‚é‰Ā”\«‚Ģ‚ ‚éƒ|ƒCƒ“ƒ^‚š‘S‚Đøø‚·‚鎖‚Ŗ•K—v‚¾‚ŖAˆź”Ź“I‚É‚±‚ź‚Ķ–³—B
(‘‚¢‚½–{l‚ɂ͉½‚Ŗ“ü‚é‰Ā”\«‚Ŗ‚ ‚é‚©ŠČ’P‚É—ń‹“o—ˆ‚邪A
ƒ\[ƒXƒR[ƒh‚©‚ē’Šo‚·‚é‚̂͂©‚Ȃ薳—j
‚µ‚½‚Ŗ‚Į‚āAŽŸˆÄ‚Ę‚µ‚ẮA
fŽ©‘̂Ɂu‘ꁛˆų”‚š‘恢ˆų”‚É“ü‚ź‘Ö‚¦A‘ęœˆų‚«”‚́£‚ŌŒčv‚Ę‚¢‚¤ī•ń‚šŽ‚½‚¹A
‘Ήž‚·‚邱‚ʂɂȂéB(‚Č‚Ø‚±‚Ģ‘€ģ‚š•ŹŠÖ”‚Ę‚µ‚čs‚¤‚Ģ‚Ŗu2’iŒÄ‚яo‚µv‚ɂȂéB)
‚ą‚Į‚Ę‚ąAC++‚Ģƒƒ“ƒoƒ|ƒCƒ“ƒ^‚ĶintƒTƒCƒY‚łȂ­‚Ä‚ą‚¢‚¢‚Ż‚½‚¢‚Ȃ̂ŁA
‚±‚Ģ•ū–@‚Å‚ąo—ˆ‚Č‚­‚ą‚Č‚¢‚ŖAVC++‚ł͂ā‚Į‚ĂȂ¢‚ˁB
> ‚u‚b{{‚ÅŽŽ‚µ‚½‚Ę‚±‚ėA•’ʂ͂SA‘½dŒp³‚µ‚Ä‚¢‚ź‚Ī‚WA‰¼‘zŒp³‚µ‚Ä‚¢‚ź‚Ī‚P‚Q‚ʂȂč‚Ü‚µ‚½‚ŖA
> www7b.biglobe.ne.jp/~robe/cpphtml/html03/cpp03058.html
‚±‚ź‚š‚ā‚Į‚Ä‚¢‚ź‚Ī’Źķ‚Å‚ą4‚Å‚ĶĻ‚Ü‚Č‚¢B
‘½d‚Å‘‚¦‚Ä‚¢‚é‚Ģ‚Ķƒ|ƒCƒ“ƒ^‚Ģ‚ø‚ź‚š•␳‚·‚镪‚¾‚ˁB
> https://www.microsoft.com/japan/msdn/vs_previous/visualc/techmat/feature/jangrayhood/

727 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f35b-tpgq) mailto:sage [2017/03/18(“y) 20:19:09.95 ID:waR+gchT0.net]
•Ŗ‚©‚é‚©H
Š®‘S‚Ɂu’¼ŚŒÄ‚яo‚µv‚É‚·‚é‚ɂ͓®“Iƒf[ƒ^‚Ę‚µ‚āuƒƒ“ƒoŠÖ”ƒIƒuƒWƒFƒNƒgv‚Ż‚½‚¢‚Č•Ø‚šģ‚čA
‚»‚ź‚Ģ“WŠJƒ‹[ƒ`ƒ“‚šƒCƒ“ƒ‰ƒCƒ“‚Å–„‚ߍž‚܂Ȃ¢‚Ę‚¢‚Æ‚Č‚¢‚ń‚¾‚ęB
iƒTƒuƒ‹[ƒ`ƒ“‚ÅŒÄ‚Ńo‚·‚ĘŒ‹‹Ē2’iŒÄ‚яo‚µ‚ɂȂ邾‚Æ–³‘ʁj
‚¾‚Į‚½‚ē‚»‚̂܂܂»‚́u“WŠJƒ‹[ƒ`ƒ“vØuƒ^[ƒQƒbƒgƒƒ“ƒoŠÖ”v‚Ģ2’iŒÄ‚яo‚µ‚Å‚ą‚¢‚¢‚āA‚Į‚Ä‚±‚ƂɂȂ邾‚ėB
‚»‚ꂪVC++‚Å‚±‚Ģ•”•Ŗ‚Ģ’¼ŚŒÄ‚яo‚µÅ“K‰»‚š‚µ‚Ä‚¢‚Č‚¢——R‚¾‚ĘŽv‚¤‚ęB
‘½•Ŗ‚³‚Ł‚ĒŒų‰Ź‚Ŗ‚Č‚¢‚ń‚¾‚ęBi‚ā‚éŽ–Ž©‘͓̂‚­‚Č‚¢)

•\–Ź“I‚ČŒ“ˆö‚́Au‘ę1ˆų”‚Ŗbind‚³‚ꂽŠÖ”ƒ|ƒCƒ“ƒ^vu‘ę2ˆų”‚Ŗbind‚³‚ꂽŠÖ”ƒ|ƒCƒ“ƒ^v‚Ŗ
“Æ‚¶Œ^‚ɂȂĮ‚Ä‚µ‚Ü‚¤‚±‚Ę‚¾‚ęB‚¾‚©‚ē‚Ę‚¢‚Į‚āA‚±‚ź‚炪•ŹŒ^‚Č‚Ģ‚ĶŒ¾Œź‚Ę‚µ‚Ä•³‚¾‚ėB
–¾Ž¦“I‚É•Ŗ‚©‚č‚ā‚·‚­‚»‚Ģź‚Å‘ć“ü‚³‚ź‚Ä‚¢‚鏼‡‚́A
‚±‚ź‚ē‚š•Źˆµ‚¢‚·‚ź‚Ī‚¢‚¢‚¾‚Æ‚¾‚©‚ē”äŠr“IŠy‚ɑΉžo—ˆ‚éB
‚¾‚Æ‚Ēˆź’Uƒ|ƒCƒ“ƒ^‚Ę‚µ‚ÄŽó‚Æ‚ē‚ź‚½ź‡A‚Ē‚ź‚ɂȂ邩‚Ķ•Ŗ‚©‚ē‚Č‚­‚Č‚é‚̂Ŗ³—‚ɂȂéB
‚»‚ź‚ŁAƒ|ƒCƒ“ƒ^Ž©‘̂ɂ»‚Ģī•ń‚š—^‚¦‚Ä“®“Iƒ‚ƒhƒL‚őΉž‚·‚é‚ę‚肹A
’Pƒ‚É2’iŒÄ‚яo‚µ‚µ‚½‚Ł‚¤‚Ŗƒ}ƒVA‚Ę‚¢‚¤”»’f‚Ŗˆ×‚³‚ꂽA‚Ę‚¢‚¤‚±‚Ę‚¾‚ęBVC‚ł́B
‚½‚¾A2’iŒÄ‚яo‚µ‚́uŒp³‚µ‚½ƒNƒ‰ƒXv‚šŽ©•Ŗ‚ŏ‘‚¢‚½ź‡‚ŁA
std::bind‚Į‚Äeval‚·‚é‚킯‚ł͂Ȃ­‚āAĆ“I‚Čƒ‰ƒCƒuƒ‰ƒŠ(ƒf[ƒ^‚µ‚©ģ¬o—ˆ‚Č‚¢)‚¾‚ę‚ȁH
‚¾‚Į‚½‚ē“ą•”“I‚ɏć‹Luƒƒ“ƒoŠÖ”ƒIƒuƒWƒFƒNƒgv•ūŽ®‚ɂȂĮ‚Ä‚¢‚é‰Ā”\«‚Ŗ‚‚­A
2’iŒÄ‚яo‚µ‚Ŕėpƒ‹[ƒ`ƒ“‚Å“WŠJˆź”Ō’x‚¢ƒpƒ^[ƒ“‚¾‚ĘŽv‚¤‚Æ‚Ē‚ĖB
‚Ü‚ ‚±‚±‚ē•Ó‚Ķ‚»‚Į‚æ‚Ģ•ū‚ŖŚ‚µ‚¢‹C‚Ŗ‚·‚邪B

‚ŁA‰ü‚߂ĕ·‚­‚ŖA‰½‚ŖŒ¾‚¢‚½‚¢‚ń‚¾H
‰“‚ĶCƒRƒ“ƒpƒCƒ‰‚šģ‚Į‚Ä‚¢‚é‚킯‚ł͂Ȃ¢‚µA‰“‚É•¶‹åŒ¾‚ķ‚ź‚Ä‚ą’m‚ē‚ń‚Ŗ‚ȁB

Œ‹˜_‚Ę‚µ‚ẮA
> std::bind()Ž©‘Ģ‚Ģ‘‚«•ū‚āŠÖ”ƒIƒuƒWƒFƒNƒg‚Ģ‘‚«•ū‚Ŗ‚ꂣ‚ĒƒAƒŒ‚łȂ¢ŒĄ‚č‚ĶF::calc()’¼ŚŒÄo‚µ‘Š“–‚ĢƒR[ƒh‚ɂȂé
‚ĶŠŌˆį‚¢‚¾‚ˁB——R‚Ķć‹LAŠ®‘Søø‚Ķ‚©‚Č‚č“‚¢‚©‚炾B
(‚ą‚µo—ˆ‚Ä‚é‚̂ȂēƒXƒQ[‚Ę‚ĶŽv‚¤‚Æ‚Ēj

728 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² 3fe5-eT6H) mailto:sage [2017/03/18(“y) 20:25:58.81 ID:vEAnzxNk0.net]
std::hash‚Ģconstexpr”Å‚Į‚Ä•W€‚É“ü‚é—\’č‚Ę‚©‚Č‚¢‚Ģ?

729 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² 738b-UnlH) mailto:sage [2017/03/19(“ś) 00:13:07.69 ID:F98WB86R0.net]
>>710-712
’·•¶‰³‚¾‚Ŗstd::bind()‚Ŗiƒeƒ“ƒvƒŒ[ƒgŠÖ”‚Ȃ̂ŁjƒCƒ“ƒ‰ƒCƒ““WŠJ‚³‚ź‚é‚Ę‚¢‚¤‚±‚Ę‚Ŗ‰½‚šŠÜˆÓ‚µA
ŠÖ”ƒIƒuƒWƒFƒNƒg‚Ę‘g‚Ż‡‚킹‚½‚Ę‚«‚Ē‚¤‚¢‚¤Œų‰Ź‚Ŗ‚ ‚é‚©‚ ‚ń‚܂ؕŖ‚©‚肳͂Ȃ³‚°

std::bind()“ą‚Ģ‘ę1ˆų”‚Ö‚Ģ‘€ģ‚ŖƒCƒ“ƒ‰ƒCƒ““WŠJ‚³‚ź‚é‚Č‚ē‚΁i‚»‚̂悤‚Éstd::bind()Ž©‘Ģ‚Ŗ‘‚©‚ź‚Ä‚¢‚é‚Č‚ē‚Ī
‘ę1ˆų”‚Ģ‘€ģ‚ÉŠÖ‚µ‚Ä
>lŠŌ‚ŖŒ©‚ź‚ĪŠČ’P‚É•Ŗ‚©‚邱‚Ę
‚́A
>ƒRƒ“ƒpƒCƒ‰‚ŖŒ©‚ź‚ĪŠČ’P‚É•Ŗ‚©‚邱‚Ę
‚Ęˆź’v‚·‚éi>>709‚́ustd::bind()Ž©‘Ģ‚Ģ‘‚«•ūi’†—Ŗj‚Ŗ‚ꂣ‚ĒƒAƒŒ‚łȂ¢ŒĄ‚č‚́v‚ŖæŚ‚šŽw‚µ‚Ä‚ī‚é

‚ŁA‘ę1ˆų”‚ŖŠÖ”ƒIƒuƒWƒFƒNƒg‚Å‚ ‚č‚©‚ĀF::calc()‚Ŗ‰¼‘zŠÖ”‚Å–³‚¢ŒĄ‚č‚́AF::calc()‚Ę‚¢‚¤ƒVƒ“ƒ{ƒ‹‚ĢƒAƒhƒŒƒX‚Ŗ
ƒRƒ“ƒpƒCƒ‹Žž‚ÉŒˆ‚܂邩‚ēA’¼ŚŒÄo‚µ‚ĢƒR[ƒh‚ɂł«‚é
‘ę1ˆų”‚Ŗƒ|ƒCƒ“ƒ^‚Ģź‡‚Ķ‚»‚¤‚Ę‚ĶŒĄ‚炸Astd::bind()‚ĢŒÄ‚Ńo‚µ‚ĢŠO‚ą‚Ż‚ă|ƒCƒ“ƒ^‚ŖŽw‚·ƒVƒ“ƒ{ƒ‹‚ŖˆźˆÓ‚Å‚ ‚邱‚ʂ܂Å
Šm”F‚µ‚Č‚¢‚ĘƒRƒ“ƒpƒCƒ‰‚ĶF::calc(this, x, 2)‚Ę‚¢‚¤call‚ÅĻ‚Ž‚Ę‚±‚ė‚š(*p)(this, x, 2)“I‚ČƒR[ƒh‚É‚µ‚©‚Å‚«‚Č‚¢



730 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (½Ģᒒ Sddf-8YZg) mailto:sage [2017/03/19(“ś) 00:17:51.96 ID:UQylyHTkd.net]
‚Ø‘O‚ē‚Ģ‚Ø‚·‚·‚ß‚ĢƒfƒUƒCƒ“ƒpƒ^[‚ń‚Ø‚µ‚Ä‚Ä

731 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² 738b-UnlH) mailto:sage [2017/03/19(“ś) 00:18:40.25 ID:F98WB86R0.net]
’ł³
ŒėF F::calc()‚Ę‚¢‚¤ƒVƒ“ƒ{ƒ‹‚ĢƒAƒhƒŒƒX‚ŖƒRƒ“ƒpƒCƒ‹Žž‚ÉŒˆ‚܂邩‚ēA’¼ŚŒÄo‚µ‚ĢƒR[ƒh‚ɂł«‚é
³F F::calc()‚Ę‚¢‚¤ƒVƒ“ƒ{ƒ‹‚ĢŒÄ‚Ńo‚µ‚Å‚ ‚邱‚Ę‚ŖƒRƒ“ƒpƒCƒ‹Žž‚ÉŠm’č‚·‚é‚©‚ēA’¼ŚŒÄo‚µ‚ĢƒR[ƒh‚ɂł«‚é

732 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (µÆĶß¹ Sr97-w0Gz) mailto:sage [2017/03/19(“ś) 00:38:21.66 ID:rBaNXWYpr.net]
>>715
‚ʂ肠‚¦‚øRAII‚ĶŽg‚Į‚Ę‚Æ
ƒiƒ}ƒ|‚šnew‚·‚é“z‚ĶŽEŠQ‚³‚ź‚Ä‚ą”ʐl‚ɏīóŽŽ—ʂ̗]’n‚ŖŽc‚é

733 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜŻŠŻøŽø MM5f-W3uL) mailto:sage [2017/03/19(“ś) 00:38:32.17 ID:Sogj9z7eM.net]
>>715
expression template

734 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f35b-tpgq) mailto:sage [2017/03/19(“ś) 01:10:03.99 ID:7dJ8iAqk0.net]
>>714
“ś–{Œź‚Åą–¾‚µ‚ꂤ‚Ę‚µ‚½‚̂͂܂ø‚©‚Į‚½BC++‚ŏ‘‚«’¼‚·‚ʁAˆČ‰ŗB
‚½‚¾‚µC++•¶–@‚É‚ĶŚ‚µ‚­‚Č‚¢‚̂ŁAsyntaxError‚Ķ“K‹X”]“ąC³‚ę‚낵‚­B
ˆÓ–”‚¾‚ÆŒ©‚Ä‚­‚źBƒ\[ƒX‚Ķ>>666‚©‚ē—¬—p‚µ‚Ä‚éB

class F {
int _a;
public:
F(const int a):_a(a) {}
int calc(const int x, const int k) const { return k * x + _a; }
};

int main()
{
const F f0(1);
const F f1(2);
std::function<...> f0_1 = std::bind(&F::calc, f0, _1, 3);@// ‘ę2ˆų”‚šŒÅ’č
std::function<...> f0_2 = std::bind(&F::calc, f1, 4, _1);@// ‘ę1ˆų”‚šŒÅ’č
std::function<...> f1_1 = std::bind(&F::calc, f1, _1, 5);@// ‘ę2ˆų”‚šŒÅ’č

call_sub(F0, f0_1, f0_2);
call_sub(F1, f1_1, f0_1);
}

void call_sub(F& f, std::function<...> f1, std::function<...> f2){
f->func(1,2); // (L) ’¼ŚŒÄ‚яo‚µ
f1(3); // (M) ƒRƒ“ƒpƒCƒ‰‚É‚ę‚Į‚Ă͒¼ŚŒÄ‚яo‚µAˆź”Ź“I‚É‚Ķ2’iŠKŒÄ‚яo‚µ
f2(4); // (N) 2’iŠKŒÄ‚яo‚µ
}

735 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f35b-tpgq) mailto:sage [2017/03/19(“ś) 01:10:33.50 ID:7dJ8iAqk0.net]
(L)‚Ķ•K‚ø’¼ŚŒÄ‚яo‚µ‚ɂȂéBƒAƒZƒ“ƒuƒ‰‚Č‚ē push, push, push, call
(M)‚Ķƒ\[ƒXć‚šøø‚·‚ź‚Ī“ÆŒ^ŒÄ‚яo‚µ‚µ‚©‚Č‚¢‚±‚Ę‚Ŗ•Ŗ‚©‚é‚Ģ‚Å
‹Zp“I‚É‚Ķ(L)‚Ę“Æ’ö“x‚܂ōœK‰»‰Ā”\‚ł͂ ‚邪Aˆź”Ź“I‚ɂ͖³—‚¾‚ĘŽv‚¤B
2’iŠKŒÄ‚яo‚µŽž‚Ķ push, push, push, call, mov, jmp
(N)‚ĶˆŁ‚Č‚éŒ`‚ĢŒÄ‚Ńo‚µ‚Ŗ—^‚¦‚ē‚ź‚Ä‚¢‚é‚̂ŁA
‹Zp“I‚É(L)‚Ę“Æ‚¶ƒRƒXƒgiƒAƒZƒ“ƒuƒ‰4–½—ß’ö“xj‚Ģ’¼ŚŒÄ‚яo‚µ‚Ķ•s‰Ā”\B
–³—‚Écmp‚Ę‚©‚ā‚é‚ę‚蕁’Ź‚É2’iŠKŒÄ‚яo‚µ‚Ģ•ū‚Ŗ‚¢‚¢‚ĘŽv‚¤B
‚¾‚©‚ēVC‚ą‚»‚¤‚µ‚Ä‚¢‚é‚ĘŒ©‚Ä‚¢‚éB

‚»‚ź‚ŁAstd::bind‚ɂ‚¢‚Ä‚ĶŚ‚µ‚¢“z‚ŖˆČ‰ŗŒ©‚ź‚ĪŽĄ‘•‚ĢŒ©“–‚Ŗ•t‚­‚Ķ‚ø‚¾‚ŖA
‰“‚ĶC++—pŒź‚ÉŚ‚µ‚­‚Č‚¢‚̂ŕŖ‚©‚ē‚ńB
ja.cppreference.com/w/cpp/utility/functional/bind
‰“‚ŖŽĄ‘•‚·‚é‚Č‚ēA‚ ‚肪‚æ‚Ȃ̂šƒeƒ“ƒvƒŒ[ƒg‚ÅŽĄ‘•‚·‚邪A
‚»‚Ģź‡‚Ķƒ|ƒCƒ“ƒ^ƒTƒCƒY‚Ķsizeof(int)*2‚ɂȂéB
(ƒƒ“ƒoŠÖ”‚Ö‚Ģƒ|ƒCƒ“ƒ^‚ʁAbindĻ‚݂̒l‚šstruct‚ÅŽ‚“ą•”“I‚Č“½–¼ƒNƒ‰ƒX‚É‚·‚é‚©‚ē)
VC‚Ŗ‚Č‚ŗ4‚ɏo—ˆ‚é‚Ģ‚©‚Ķ•Ŗ‚©‚ē‚ńA‚Ę‚¢‚¤‚©Œv‘ŖŠŌˆį‚¢‚¶‚į‚Č‚¢‚©‚ĘŽv‚¤B
(ƒoƒCƒ“ƒhĻ‚݂̒l‚Ģ•Ŗ‚š“ü‚ź‚ĂȂ¢j

736 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f35b-tpgq) mailto:sage [2017/03/19(“ś) 01:11:05.58 ID:7dJ8iAqk0.net]
‰“‚ŖŒ¾‚¢‚½‚©‚Į‚½‚̂́Ać‹L(L),(M),(N)‚Ę‚¢‚¤‚±‚ʁB
ŒN‚ĢŽå’£‚́A‚·‚ׂÄbindŽž‚ÅŠm’肵‚āAć‹L(M)(N)‚ą(L)‚Ę“Æ‚¶ƒRƒXƒg‚ŌĂׂé‚Ę‚¢‚¤Žå’£‚¾‚Ɠǂ߂éB
‚»‚ź‚Ķ–³—B
Šm‚©‚ɃAƒhƒŒƒXŽ©‘Ģ‚ĶŠm’č‚Ķ‚·‚邪A
ˆų”‚šbind‚µ‚Ä‚¢‚é‚Ģ‚¾‚©‚ēƒXƒ^ƒbƒN‚š‚»‚ĢŒ`‚É‚µ‚Ä‚ā‚ē‚Č‚¢‚Ę‚¢‚Æ‚Č‚¢B
ć‹L(N)‚ĢŒÄ‚Ńo‚µAƒAƒZƒ“ƒuƒ‰4–½—߂ł͂ǂ¤‚ā‚Į‚Ä‚ą‘‚Æ‚Č‚¢‚¾‚ėB
cmpŽg‚Į‚ď‘‚­‚­‚ē‚¢‚Č‚ē2’iŠKŒÄ‚яo‚µ‚Å6–½—ß(2•ŖŠņj‚Ģ•ū‚Ŗƒ}ƒVB

cmpŽg‚Į‚Ä–³—‚É’¼ŚŒÄ‚тɂµ‚½‚ēA
‚»‚±‚É—ˆ‚é‰Ā”\«‚Ģ‚ ‚éŒÄ‚яo‚µŒ^‚š‘S•”‚»‚±‚ɏ‘‚©‚Č‚Æ‚ź‚΂Ȃē‚Č‚­‚Č‚éB
‚»‚µ‚Äx86‚ĶƒvƒŒƒfƒBƒP[ƒg‚šŽ‚Į‚ĂȂ¢‚̂ŁAcmp‚Å•ŖŠņ‚µ‚Č‚¢‚Ę‚¢‚Æ‚Č‚¢B(ARM‚ĶŽ‚Į‚Ä‚¢‚éj
‚»‚ź‚Į‚ÄŠ®‘S‚É–{––“]“|‚¾‚ėB

‚»‚ź‚ŁAstd::bind‚ʊ֐”ƒIƒuƒWƒFƒNƒg‚š‚Ē‚¤‘g‚Ż‡‚킹‚½‚ēA
(L),(M),(N)‚ɂ‚¢‚ďć‹L’Ź‚čƒAƒZƒ“ƒuƒ‰4–½—ß’ö“x‚ÅŒÄ‚Ńo‚¹‚é‚Ģ‚©‚ę‚낵‚­B

737 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f35b-tpgq) mailto:sage [2017/03/19(“ś) 01:17:42.85 ID:7dJ8iAqk0.net]
‚·‚Ü‚ńAd—v‚Ȃʂ±‚ė‚šŠŌˆį‚¦‚Ä‚¢‚½‚̂Œł³B
>>719
> std::function<...> f0_1 = std::bind(&F::calc, f0, _1, 3);@// ‘ę2ˆų”‚šŒÅ’č
> std::function<...> f0_2 = std::bind(&F::calc, f1, 4, _1);@// ‘ę1ˆų”‚šŒÅ’č
> std::function<...> f1_1 = std::bind(&F::calc, f1, _1, 5);@// ‘ę2ˆų”‚šŒÅ’č
‚Ģ2‚–ځAƒCƒ“ƒXƒ^ƒ“ƒX‚Ķ f0 ‚ˁB

std::function<...> f0_2 = std::bind(&F::calc, f0, 4, _1);@// ‘ę1ˆų”‚šŒÅ’č, f0

‚½‚¾Œ‹‹ĒA•Ļ‚Čˆų‚Į‚©‚Æ‚Ż‚½‚¢‚ɂȂĮ‚Ä‚¢‚邾‚ƂňӖ”‚Ķ“Æ‚¶‚©‚ȁH
‚Ü‚ ’ł³‚µ‚Ę‚­‚Æ‚ĒB

738 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² bfcc-UNkP) mailto:sage [2017/03/19(“ś) 01:31:51.96 ID:i6MRGbY60.net]
‚Ü‚¾JAVAƒKƒCƒW’£‚č•t‚¢‚Ä‚¢‚é‚Ģ‚©c

739 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² 8330-PVeP) mailto:sage [2017/03/19(“ś) 01:41:06.04 ID:I9SbzQA70.net]
‚ ‚ń‚¾‚Æ–³”\‚ȏX‘Ō‚š‚³‚ē‚µ‚Ă؂¢‚Ä
ƒ{ƒN‚ĶƒŒƒxƒ‹‚Ŗ‚‚¢‚Æ‚Ē‚æ‚å‚Į‚Ę’m‚ē‚Č‚©‚Į‚½‚¾‚Æ‚æ‚å‚Į‚ĘŠŌˆį‚¦‚½‚¾‚Æ‚ÅĻ‚ń‚Å
‚Ü‚¾Ž©•Ŗ‚Ģ‚¢‚¤‚±‚Ę‚Éą“¾—Ķ‚Ŗ‚ ‚é•·‚¢‚Ä‚­‚ź‚él‚Ŗ‚¢‚é‚ĘŽv‚Į‚Ä‚é‚Ę‚±‚낪‚ą‚¤‚ˁc



740 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f35b-tpgq) mailto:sage [2017/03/19(“ś) 01:44:23.31 ID:7dJ8iAqk0.net]
bind‚Ģą–¾“Ē‚ŽŒĄ‚čA‚ā‚Į‚Ļ‚±‚ź‚©‚Č‚č”Ä—p‚ɍģ‚Į‚Ä‚¢‚Ä’x‚¢‚ĘŽv‚¤‚¼B
‚½‚¾ˆź”Ź“I‚ɂ͂»‚±‚ŖŒ©‚¦‚那‚ĒŽg‚¤‚±‚Ƃ͂Ȃ¢‚ĘŽv‚¤‚ŖB
ƒAƒZƒ“ƒuƒ‰“I‚ɂ́A

f->func()F 4–½—ß’ö“x(•ŖŠņ1‰ń)
std::bindŒo—R‚Å‚ĢŒÄ‚Ńo‚µF 10-50–½—ß’ö“x‚©H(•ŖŠņ2‰ńˆČć)
“ą•”ƒIƒuƒWƒFƒNƒgģ¬•ūŽ®F 6–½—ß’ö“x(•ŖŠņ2‰ńj

‚¶‚į‚Č‚¢‚©‚ȁB

741 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² 537b-gO1F) [2017/03/19(“ś) 01:49:16.54 ID:jcDR9uoj0.net]
‚Ü‚ŸA•Ź‚ÉƒXƒŒˆį‚¢‚Ę‚¢‚¤‚킯‚Å‚ą‚Č‚¢‚©‚ē‚¢‚Ä‚ą‚¢‚¢‚ń‚¶‚į‚Č‚¢H•t‚«‡‚¢‚½‚¢l‚Ŗ•t‚«‡‚¦‚΁B
‰“‚ĶƒŒƒX‚µ‚Č‚¢‚Æ‚ĒB

742 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² 537b-v8EU) mailto:sage [2017/03/19(“ś) 01:59:32.09 ID:jcDR9uoj0.net]
‚ʁAŒ¾‚Į‚½‚ą‚̂́A‰ä–‚µ‚«‚ź‚Č‚¢‚̂œP‰ń‚µ‚Ü‚·B

>>725
https://godbolt.org/g/SFtHQt

‚±‚¤‚Č‚éˆÓ–”‚šl‚¦‚āB
‚ą‚¤ˆź‚Āƒqƒ“ƒg‚ ‚°‚é‚Ęstd::function<int()>‚ÅŽó‚Æ‚é‚Ƃǂ¤‚Ȃ邩Œ©‚Ă݂½‚ē‚¢‚¢‚ęB

743 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f35b-tpgq) mailto:sage [2017/03/19(“ś) 02:14:29.60 ID:7dJ8iAqk0.net]
’N‚©‚ĘŽv‚¦‚Ī>>678‚©B
‚¶‚į‚ ‚Ā‚¢‚łɌ¾‚Į‚Ă؂­‚ʁAˆČ‰ŗ‚¾‚ˁB

callbacks.push_back([&]{a.func();}); // (O) ƒNƒ[ƒWƒƒģ¬‚Ŗ–³‘Ź
callbacks.push_back(a->func)); // (P) ‚±‚Ģ‘‚«•ū‚ĶŒ»Żo—ˆ‚Č‚¢‚ŖA‚±‚Į‚æ‚Ģ•ū‚Ŗ‚¢‚¢

JavaScript‚ł́iO)‚Ķ–³‘Ź‚¾‚Ę‚³‚ź‚éBƒNƒ[ƒWƒƒ‚Ŗ—]•Ŗ‚Ƀƒ‚ƒŠ‚šH‚¤‚©‚ēB
ƒNƒ[ƒWƒƒ–³‚µ‚ŏ‘‚Æ‚é‚Ȃ炻‚Ģ•ū‚Ŗ‚¢‚¢BƒR[ƒh—Ģˆę‚ą–³‘Ź‚¾‚µB
‚±‚ź‚ĶC++‚ą“Æ‚¶‚¾‚µAC++‚Ģ•ū‚ŖŒµ‚µ‚¢‚Ķ‚ø‚¾‚ŖB
‚Ƃ͂¢‚¦std::bind‚ĢŽd—l‚Ŗd‚·‚¬‚é‚̂ł±‚æ‚ē‚ąƒCƒ}ƒCƒ`‚¾B
C++‚Č‚ē‚Ē‚Į‚æ‚Ŗd‚¢‚©‚Ķ”÷–­‚¾‚ˁB

‚Č‚ØJavaScript‚Ģbind‚́u‘O‚©‚ē‡‚ÉŒÅ’č‚³‚ź‚év‚¾‚Æ‚ĢŽd—l‚Ȃ̂ŁA
ŒÅ’肵‚½ˆų”•Ŗ‚Ģƒf[ƒ^—Ģˆę‚µ‚©ŠebindƒCƒ“ƒXƒ^ƒ“ƒX‚ɂ͕K—v‚Č‚¢B
‚Ę‚¢‚¤‚©C++‚Ģbind‚Ŗ–­‚ÉƒŠƒbƒ`‚ČŽd—l‚Ȃ̂Ŗ“䂾‚ŖBC++‚Į‚Ū‚­‚Č‚¢B

744 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² 537b-gO1F) [2017/03/19(“ś) 02:17:00.87 ID:jcDR9uoj0.net]
>>728
C++‚Ȃ疳‘ʂł͂Ȃ¢
I—¹

745 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f35b-tpgq) mailto:sage [2017/03/19(“ś) 02:19:33.17 ID:7dJ8iAqk0.net]
>>727
‰“‚É‚ĶŒvŽZĻ‚݂Ƃµ‚©Œ©‚¦‚Č‚¢‚ŖA‰½‚©‘€ģ•K—vH
-O3ŠO‚¹‚Ę‚©‚©H

> fn(int):
> lea eax, [rdi+rdi]
> ret
> bind():
> mov eax, 4
> ret
> direct():
> mov eax, 4
> ret

746 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f35b-tpgq) mailto:sage [2017/03/19(“ś) 02:28:44.92 ID:7dJ8iAqk0.net]
>>727
‚Ę‚¢‚¤‚©‚ȁAŖ–{“I‚ÉŠŌˆį‚Į‚Ä‚é‚ĘŽv‚¤‚¼B

ˆź”Ź“I‚Ɋ֐”ƒ|ƒCƒ“ƒ^‚šŽg‚¤ź‡A‚»‚ź‚ĶŠO•”‚©‚ē—^‚¦‚ē‚ź‚é‚ń‚¾‚ęB
Ž©•Ŗ‚Ģ“ą•”‚ōģ‚Į‚ÄŽg‚¤‚Į‚ÄŽ–‚͂Ȃ¢B
i‚±‚±‚ł͒Pƒ‚Čƒ\[ƒX‚Å‹c˜_‚·‚é‚©‚ē‚»‚¤‚Ȃ邾‚ƂŁAˆź”Ź“I‚ɂ͂»‚¤‚ł͂Ȃ¢B
‚Ā‚©A‚»‚ź‚¶‚įŠÖ”ƒ|ƒCƒ“ƒ^‚ĢˆÓ–”‚Ŗ‚Č‚¢‚µj

“TŒ^“I‚É‚Ķcallback‚¾‚ęBŠO•”‚©‚ē—^‚¦‚Č‚¢‚Ę‘S‚­ˆÓ–”–³‚¢‚¾‚ėB
‚ŁA‚»‚Ģź‡‚Ķ“–‘R‚±‚ĢŽč‚ĢŽ–‘OŒvŽZ‚Ę‚©‚Å‚ĢÅ“K‰»‚Ķo—ˆ‚Č‚¢‚ń‚¾‚ęB

747 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² 537b-v8EU) mailto:sage [2017/03/19(“ś) 02:33:33.53 ID:jcDR9uoj0.net]
>>731
ˆźŽžˆź‹å“Æ‚¶‚¶‚į‚Č‚¢‚Ę—‰š‚Å‚«‚Č‚¢l‚¾‚Į‚½‚©B

https://godbolt.org/g/o73pz4

‚±‚ź‚Å—‰š‚Å‚«‚Ü‚·‚©H

748 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f35b-tpgq) mailto:sage [2017/03/19(“ś) 02:51:38.54 ID:7dJ8iAqk0.net]
>>732
‚ [‚Ø‘O‚ŖƒAƒz‚¾‚Ę‚¢‚¤‚±‚Ƃ͂悭•Ŗ‚©‚Į‚½‚ķB

‚܂ʂą‚É‹c˜_‚·‚é‹C‚Č‚ēA‚ØŒŻ‚¢‚ŖŒ©‚Ä‚¢‚邹‚Ģ‚Ŗ“ƈź‚Å‚ ‚邱‚Ę‚šŠm”F‚µ‚Č‚¢‚Ę‚¢‚Æ‚Č‚¢B
>>727‚šŒ©‚½‚ēƒAƒz‚©‚ĘŽv‚¤‚͓̂¹—‚¾‚ėB

‚»‚µ‚Ä>>732‚ąƒAƒz‚©‚ĘŽv‚¤‚ęBŠÖ”“ą•”‚ʼn½‚šģ‚Į‚Ä‚ą‚»‚ź‚ĶÅ“K‰»‚³‚ź‚é‚ęB
‚»‚ź‚ĶˆźŽž•ϐ”‚šœ‹Ž‚·‚ź‚Ī‚¢‚¢‚¾‚Æ‚Č‚Ģ‚¾‚©‚ēB
‚»‚¤‚ł͂Ȃ­‚āA—Ⴆ‚ĪˆČ‰ŗ‚É‚µ‚Č‚¢‚Ę‚¢‚Æ‚Č‚¢B

int main(){
auto f = std::bind(&something::func,ptr);
bind(f);
}

int bind(std::function<...> f){
return f(); // bindĻ‚Ż‚Ģf‚šŒÄ‚ŌƒRƒXƒg‚š‚±‚±‚ÅŒv‘Ŗ‚·‚é
}

Ä“xŒ¾‚¤‚ŖAŠÖ”ƒ|ƒCƒ“ƒ^‚ĶŠO•”‚©‚ē—^‚¦‚Č‚¢‚ĘˆÓ–”–³‚¢‚ń‚¾‚ęB

749 –¼‘OF
‚Ä‚©‚Ø‘O‚ēŽĄ‚Ķ‘S‚­ŠÖ”ƒ|ƒCƒ“ƒ^Žg‚Į‚ĂȂ¢‚¾‚ėB
‚¾‚©‚ēŽg‚¢•ūŽ©‘Ģ‚š’m‚ē‚Č‚¢‚ń‚¾‚ęB

‚±‚ź‚ŁAbind/ŠÖ”ƒIƒuƒWƒFƒNƒg/ƒNƒ[ƒWƒƒ‚ÅŒÄ‚Ńo‚µƒRƒXƒg‚š”ä‚ׂĂ݂ȂęB
“–‚½‚č‘O‚¾‚Ŗć‹L‚¾‚ĘbindŒÄ‚ń‚ŏI‚ķ‚č‚ɂȂ邯‚ǁA
‚ą‚æ‚ė‚ń‚»‚̐ę‚Ģƒ^[ƒQƒbƒg(something::func)‚ŖŒÄ‚Ī‚ź‚é‚܂Ō©‚é‚ń‚¾‚ęB
‚‚܂čstd::bind“ą•”‚ĢƒR[ƒh‚ą‚ˁB‚»‚ꂪŒÄ‚яo‚µƒRƒXƒg‚Č‚ń‚¾‚©‚ēB
‚»‚ź‚ŁA‚ ‚ē‚©‚¶‚ߌvŽZĻ‚݂Ƃ©‚¢‚¤ƒAƒz‚ČƒIƒ`‚Ķƒ}ƒW‚ÅŽ~‚߂Ă­‚źB
ˆź”Ź“I‚Ƀ|ƒCƒ“ƒ^‚š—^‚¦‚½ź‡A‚»‚ꂪ–³—‚Č‚±‚Ę‚­‚ē‚¢•Ŗ‚©‚邾‚ėB
[]
[‚±‚±‰ó‚ź‚Ă܂·]



750 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² 537b-v8EU) [2017/03/19(“ś) 03:14:07.27 ID:jcDR9uoj0.net]
>>733
’•¶‚Ģ‘½‚¢‚ā‚Ā‚¾‚Č‚ŸB

https://godbolt.org/g/R1ljMl

ŠÖ”ƒ|ƒCƒ“ƒ^‚šŠO‚©‚ē“n‚·‚ꂤ‚É‚©‚¦‚Ä‚ā‚Į‚½‚¼B
Ž©•Ŗ‚ÅŒ¾‚Į‚Ă邱‚Ę‚šC++‚ŏ‘‚­”\—Ķ‚®‚ē‚¢‚ ‚é‚ę‚ˁH
ŽŸ‚©‚ēŽ©•Ŗ‚ŏ‘‚Æ‚ęB


std::bind‚É—]•Ŗ‚ČƒRƒXƒg‚Č‚ń‚ĂȂ¢Bstd::function‚Ģ•ū‚É‚ ‚éB
ƒqƒ“ƒg‚ ‚°‚½‚̂ɑS‚­l‚¦‚ꂤ‚Ę‚µ‚Č‚©‚Į‚½‚Ģ‚©‚ȁH

751 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² 537b-v8EU) mailto:sage [2017/03/19(“ś) 03:24:22.16 ID:jcDR9uoj0.net]
>>733
‚Č‚ŗ‚©ˆźŽž•ϐ”‚¾‚©‚ēÅ“K‰»‚Å‚«‚é‚ʐM‚¶‚Ă邯‚½‚¢‚¾‚Æ‚ĒA‚»‚¤Žv‚¤‚Č‚ē

int std_function(something* ptr,fn_ptr_type fptr){
std::function<int()> f = std::bind(fptr,ptr);
return f();
}

‚ʏ‘‚¢‚Ă݂ź‚Ī‚¢‚¢B

>‚»‚µ‚Ä>>732‚ąƒAƒz‚©‚ĘŽv‚¤‚ęBŠÖ”“ą•”‚ʼn½‚šģ‚Į‚Ä‚ą‚»‚ź‚ĶÅ“K‰»‚³‚ź‚é‚ęB
>‚»‚ź‚ĶˆźŽž•ϐ”‚šœ‹Ž‚·‚ź‚Ī‚¢‚¢‚¾‚Æ‚Č‚Ģ‚¾‚©‚ēB
‚ŖƒoƒJ‚Č”­Œ¾‚¾‚Į‚½‚Ę—‰š‚Å‚«‚é‚ĘŽv‚¤‚©‚ēB

752 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² 0f59-Rjy3) mailto:sage [2017/03/19(“ś) 03:38:13.98 ID:xwQyhAst0.net]
‚ ‚ AJava‚¾‚ʁ`‚Ę‚©Œ¾‚Į‚Ä‚½l‚©

753 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² cf6b-8YZg) mailto:sage [2017/03/19(“ś) 08:10:18.88 ID:oCYtEhVi0.net]
>>717
’²‚ׂĂąo‚Ä‚±‚Č‚¢....
ƒRƒ“ƒXƒgƒ‰ƒNƒ^‚ĘƒfƒXƒgƒ‰ƒNƒ^‚ÅNew‚Ę‚©‚·‚é‚ā‚Ā‚¾‚Į‚ƁHH

>>718
”Ž®‚š“n‚µ‚Ä•Ŗ‚©‚č‚ā‚·‚­‚·‚é‚Į‚Ă̂͂Ȃń‚ʂȂ­‚ķ‚©‚Į‚½‚ń‚¾‚Æ‚Ē
‹t‚É‚²‚æ‚Ⴒ‚æ‚Ⴕ‚·‚¬‚Ä‚é‹C‚Ŗ‚·‚é‚Į‚ĈóŪ‚šŽó‚Æ‚½

754 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² ef6c-i8cA) mailto:sage [2017/03/19(“ś) 08:15:20.51 ID:gWCLtiPs0.net]
>>737
ƒfƒXƒgƒ‰ƒNƒ^‚Ådelete‚ā‚Å

expression template‚ĶŒų‰Ź‚Ŗ‚Ē‚¤‚Ȃ́H‚Į‚ÄŽv‚¢Žn‚߂Ăé
•’Ź‚ÉƒRƒ“ƒpƒCƒ‰‚ĢÅ“K‰»‚É”C‚¹‚½ź‡‚Ę‚»‚ń‚Ȃɕςķ‚é‚ń‚©‚Č

755 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² cf6b-8YZg) mailto:sage [2017/03/19(“ś) 08:18:02.91 ID:oCYtEhVi0.net]
>>738
‚·‚Ü‚ń
‚Ę‚©‚ɂ܂ʂ߂½
scope”²‚Æ‚½‚Ę‚«‚É•K‚øˆ—‚³‚¹‚é‚Į‚Ä‚ā‚Ā‚ę‚Ė
Šm‚©‚É•K—v‚Č‚ā‚Ā‚¾‚Č

ƒR[ƒhŒ©‚ā‚·‚­‚Į‚Ä‚ā‚Į‚Ä‹t‚ɐFX‚Ɛݒ肪‚ ‚é‚Ę‹t‚ÉŒ©‚É‚­‚­‚Č‚é‚ń‚¶‚į‚Č‚¢‚©H‚Į‚Ä‹^–₪Žc‚Į‚½
”‚Ķ‚ ‚ĘƒVƒ“ƒOƒ‹ƒgƒ“ƒpƒ^[ƒ“‚®‚ē‚¢‚µ‚©‚ķ‚©‚ń‚Č‚¢‚ā

756 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f35b-tpgq) mailto:sage [2017/03/19(“ś) 08:46:03.88 ID:7dJ8iAqk0.net]
’ł³‚ˁB
>>733
~@std::bind“ą•”‚ĢƒR[ƒh‚ą‚ˁB
›@std::function‚Ģoperater()‚Ģ“ą•”‚ĢƒR[ƒh‚ą‚ˁB

ˆ—Œn‚ĢŽĄsƒR[ƒh‚ąA‚Ę‚¢‚¤ˆÓ–”‚ŏ‘‚¢‚½‚ŖA
std::bind‚Ķstd::function‚š•Ō‚·‚Ģ‚Å”‰ń‚ɂ‚¢‚Ä‚Ķoperator()‚ĢƒR[ƒh‚ɂȂé‚Ģ‚¾‚ę‚ȁH
‚Ü‚ ŠŌˆį‚Į‚Ä‚¢‚½‚ē“K‹X’ł³‚µ‚Ä‚­‚źB•Ŗ‚©‚é”ĶˆĶ‚¾‚ĘŽv‚¤B

>>734
> std::bind‚É—]•Ŗ‚ČƒRƒXƒg‚Č‚ń‚ĂȂ¢Bstd::function‚Ģ•ū‚É‚ ‚éB
‚±‚ꂪć‹L‚ɂ‚¢‚ÄŒ¾‚Į‚Ä‚¢‚é‚̂Ȃ炻‚Ģ’Ź‚čB
‚½‚¾‚»‚ź‚Ķ—g‚°‘«Žę‚肾‚Ę•Ŗ‚©‚邾‚ėB‚»‚ꂪ‚ā‚肽‚©‚Į‚½‚̂Ȃē‚Ē‚¤‚¼A‚Ø‚ß‚Å‚Ę‚¤B
‚»‚ꂪ•Ŗ‚©‚ē‚Č‚¢‚̂ȂēŒN‚ɂ͂±‚Ģ˜b‚Ķ–³—‚¾‚ˁB
‚Ę‚¢‚¤‚킯‚Å‚¢‚ø‚ź‚É‚µ‚Ä‚ą‚±‚Ģ˜b‚ĶI‚ķ‚č‚Å‚¢‚¢B

757 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f35b-tpgq) mailto:sage [2017/03/19(“ś) 08:47:04.27 ID:7dJ8iAqk0.net]
ˆź‰ž’†g‚ĶŠm”F‚µ‚½B
>>734‚ɂ‚¢‚Ä‚ĶŒÄ‚Ńo‚µ‘¤‚Ķ‘S•”“Æ‚¶ƒR[ƒh‚Ŗo‚é‚Ę‚¢‚¤Ž–‚ˁB‚±‚±‚܂ł͂¢‚¢B
–ā‘č‚Ķ‚»‚̐悾B‚»‚ź‚ĶŒN‚ą•Ŗ‚©‚Į‚Ä‚é‚ń‚¾‚ėH‚¾‚Į‚½‚牽ŒĢ‚»‚ź‚š‚µ‚Č‚¢H

>>735
> ‚Č‚ŗ‚©ˆźŽž•ϐ”‚¾‚©‚ēÅ“K‰»‚Å‚«‚é‚ʐM‚¶‚Ă邯‚½‚¢‚¾‚Æ‚ĒA‚»‚¤Žv‚¤‚Č‚ē
‚±‚ź‚ɂ‚¢‚Ă͑Еςķ‚炸‚»‚æ‚炪ŠŌˆį‚¢‚¾‚ˁB
Ž–‘OŒvŽZĻ‚Ż‚ĢƒR[ƒh‚šƒhƒ„Šē‚ŏo‚µ‚Ä‚«‚½‚̂͂»‚æ‚炾‚ėB
‚»‚ź‚ĶƒRƒ“ƒpƒCƒ‹Žž‚ɁuŽ–‘OŒvŽZ‚Ŗo—ˆ‚év‚Ę‚¢‚¤‚±‚Ę‚ŖƒRƒ“ƒpƒCƒ‰‚É‚ą•Ŗ‚©‚Į‚½‚©‚ēB
‚Ƃ͂¢‚¦AŒN‚Ż‚½‚¢‚Č“z‚ą‘ņŽR‚¢‚é‚Ģ‚ąŽ–ŽĄ‚¾‚ęB

> ‚ʏ‘‚¢‚Ă݂ź‚Ī‚¢‚¢B
‘‚¢‚Ă݂½‚ēstd::function‚ĢƒR[ƒh‚Ŗo‚½B
’†g‚Ķ”‚̉“‚ɂςĮ‚Ę•Ŗ‚©‚é‚ꂤ‚Č‚ą‚̂ł͂Ȃ¢‚ˁB
‚ŖA‚Ü‚ A100–½—ßŽć‘‚¦‚Ä‚¢‚é‚©‚ē‚»‚Ģ•Ŗ’x‚¢‚ĘŒ¾‚¦‚éB
‚¾‚©‚ēŒ‹˜_‚́A’¼Śƒtƒ@ƒ“ƒNƒ^<<<<bind‚ɂȂé‚Ģ‚©‚ȁH
ƒtƒ@ƒ“ƒNƒ^‚͐³’¼ƒsƒ“‚Ę‚±‚Č‚¢B
‚ ‚Ę‚Ķ>>729‚Å–³‘Ź‚Ŗ‚Č‚¢‚Ęƒhƒ„Šē‚Ģƒ‰ƒ€ƒ_‚Ŗ‚Ē‚±‚܂ő¬‚¢‚©‚¾‚ˁB
‚Ü‚ Šę’£‚Į‚āB

‚¢‚ø‚ź‚É‚µ‚Ä‚ąA‚±‚Ģ˜b‚ĶI‚ķ‚č‚Å‚¢‚¢B
‰“‚ŖŠm”F‚µ‚½‚¢”ĶˆĶ‚Ķ‚ą‚¤•Ŗ‚©‚Į‚½B

758 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² 537b-gO1F) [2017/03/19(“ś) 08:51:40.65 ID:jcDR9uoj0.net]
>std::bind‚Ķstd::function‚š•Ō‚·‚Ģ‚Å”‰ń‚ɂ‚¢‚Ä‚Ķoperator()‚ĢƒR[ƒh‚ɂȂé‚Ģ‚¾‚ę‚ȁH

‚±‚±‚܂ŏ‘‚¢‚Ä‚ą—‰šo—ˆ‚Č‚¢‚Ģ‚©‚ęc

759 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² 537b-gO1F) [2017/03/19(“ś) 09:00:02.50 ID:jcDR9uoj0.net]
>>741
‰“‚Ķ‚½‚¾’mŽÆ‚Ŗ‚Č‚¢‚ā‚Ā‚šƒoƒJ‚Ę‚ĶŽv‚ķ‚Č‚¢‚ŖA‚Ø‘O‚Ż‚½‚¢‚ČŽ©•Ŗ‚Ŗ—‰šo—ˆ‚Č‚¢‚Ģ‚š‘ŠŽč‚Ģ‚¹‚¢‚É‚µ‚ăAƒz‚Č‚ń‚ÄŒ¾‚¤“z‚Ķ–{“–‚ɃoƒJ‚¾‚ĘŽv‚¤‚ęB

‘‚¢‚Ă؂©‚Č‚¢‚Ę—‰š‚µ‚Č‚³‚»‚¤(=o—ˆ‚Č‚³‚»‚¤)‚¾‚©‚ēˆź‰ž‘‚¢‚Ă؂¢‚Ä‚ ‚°‚é‚ęB

std::bind‚̕Ԃč‚ĢŒ^‚Ķstd::function‚ł́h‚Č‚¢h



760 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (µÆĶß¹ Sr97-w0Gz) mailto:sage [2017/03/19(“ś) 09:08:50.00 ID:EshC/yEQr.net]
>ID:7dJ8iAqk0
ƒRƒXƒg‚́@’¼Śƒ‰ƒ€ƒ_bind <<< std::function
bind‚Ęstd::function‚ĶŠÖŒW–³‚¢
function‚Ébind‚šd‚Ė‚ź‚Īfunction‚ĢƒRƒXƒg‚Ŗ‚»‚Ģ‚Ü‚ÜŽc‚é

761 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f35b-tpgq) mailto:sage [2017/03/19(“ś) 09:17:50.63 ID:7dJ8iAqk0.net]
>>743
‚¾‚©‚牓‚Ķ‚»‚±‚ē•Ó‚Ü‚Å‚ĶŚ‚µ‚­‚Č‚¢‚Ģ‚³B
ŒJ‚č•Ō‚µ‚Ä‚¢‚é‚Ę‚Ø‚čAstd::bind‚Ģą–¾‚š“Ē‚ń‚Å‚ą‘S‚Ä‚š”‚·‚®—‰š‚·‚é’mŽÆ‚͂Ȃ¢‚ń‚¾‚ęB
‰“‚ĶC+JavaScript‚¾‚©‚ē‚ˁBC++‚ĶbetterC‚Ę‚µ‚ÄŽg‚Į‚Ä‚«‚Ă邪A
VC++(=CLI)‚¾‚©‚ēSTL‚šŽg‚Į‚½‚±‚Ƃ͂Ȃ­A.NET‚¾‚µB

C++“Į—L‚Ģƒeƒ“ƒvƒŒ[ƒg‚Ę‚©Œ^Į‹Ž‚ɂ‚¢‚Ä‚Ķ
u“®“IŒ^‚Ȃ牽‚ąl‚¦‚é•K—v‚Č‚¢‚̂Ɂv‚Å”ņ‚Ī‚µ‚Ä‚«‚½‚µA
RAII+ƒXƒ}ƒ|‚ɂ‚¢‚Ä‚ąu‚»‚±‚܂Ō¾‚¤‚Č‚ēGCŒ¾ŒźŽg‚¦‚ęv‚Ę‚µ‚©Žv‚Į‚ĂȂ¢B

‚¾‚©‚ē”AŒ^Į‹Ž‚Ę‚©‚ą“Ē‚ń‚ł邯‚ǁA‚±‚ź‚š—‰š‚·‚é‚É‚ĶŽžŠŌ‚Ŗ‚©‚©‚邵A
ć‹L‚Ģ’Ź‚čSTL‚ɂ‚¢‚Ä‚ą‚Ł‚Ś’m‚ē‚Č‚¢‚©‚ēA‚±‚ź‚Ü‚½ƒCƒ“ƒXƒg[ƒ‹‚ÉŽžŠŌ‚Ŗ‚©‚©‚é‚ń‚¾‚ęB


> std::bind‚̕Ԃč‚ĢŒ^‚Ķstd::function‚ł́h‚Č‚¢h
‚Ü‚ ‚»‚ź‚Ķ‚³‚Ă؂«Astd::bind‚͉½‚Ŗ•Ō‚é‚ń‚¾‚±‚ź‚́H
Œ^Į‹Ž‚Å–³—–ī—Ši”[o—ˆ‚邾‚Æ‚Č‚Ģ‚©H
‚½‚¾AŽĄsŽž‚Ķstd::function‚Ģoperator()‚ŖŒÄ‚Ī‚ź‚é‚ĘŽv‚¤‚ŖA‚±‚ź‚ąˆį‚¤‚Ģ‚©H

762 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² 537b-gO1F) [2017/03/19(“ś) 09:26:27.21 ID:jcDR9uoj0.net]
>>745
’m‚ē‚Č‚¢‚Č‚ē‘z‘œ‚ÅŽĄsŽžƒRƒXƒg‚Ę‚©Œˆ‚ß‚Ā‚Æ‚é‚Č‚ę

auto f=std::bind(func);
f();
‚Ę
std::function<int()> f=std::bind(func);
f();

‚ŏo—Ķ‚³‚ź‚éƒR[ƒh‚Ŗˆį‚¤‚ń‚¾‚©‚ēˆį‚¤‚Ę

763 –¼‘OF‰š‚邹‚ń‚¾‚Ę‚Ø‚ą‚Į‚Ästd::function”Å‚š‘‚©‚¹‚½‚ń‚¾‚Æ‚ĒA‰½‚Ŗ‰š‚ē‚Č‚©‚Į‚½‚Ģ‚©‚ȁH []
[‚±‚±‰ó‚ź‚Ă܂·]

764 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f35b-tpgq) mailto:sage [2017/03/19(“ś) 09:41:13.37 ID:7dJ8iAqk0.net]
>>744
‚ [‰½‚ʂȂ­•Ŗ‚©‚Į‚Ä‚«‚½BˆČ‰ŗƒy[ƒWA
ja.cppreference.com/w/cpp/utility/functional/bind
‚́uƒƒ“ƒoŠÖ” operator()v‚Į‚Ăʂ±‚ŖŒÄ‚Ī‚ź‚é‚Ģ‚©B‚Ā‚©‰pŒź”ÅŒ©‚é‚ׂ«‚¾‚Į‚½‚©‚ąB
‚¶‚į‚ “–‰‚́ustd::bind“ą•”‚ĢƒR[ƒh‚ą‚ˁv‚Å‚ą\•Ŗ’Ź‚¶‚é‹C‚ą‚·‚邪A‚Ü‚ ‚±‚ź‚Ķ‚¢‚¢B

‚¢‚ø‚ź‚É‚µ‚Ä‚ą‰“‚Ķ‚±‚Ģ’Ź‚čAcppreference‚ĢŒ©•ū‚ą‚ę‚­•Ŗ‚©‚Į‚ĂȂ¢B
‚¾‚©‚ēŒN‚ē‚É’Ē‚¢‚Ā‚­‚Ģ‚ĶŽžŠŌ‚Ŗ‚©‚©‚éB

> ƒRƒXƒg‚́@’¼Śƒ‰ƒ€ƒ_bind <<< std::function
ƒ‰ƒ€ƒ_‚ĶÅ‚‚ɍœK‰»‚³‚ꂽó‘Ō‚Åbind‚Ę“Æ‚¶B
bind‚ąoperator()‚Ģ“ą•”‚ŃvƒŒ[ƒXƒzƒ‹ƒ_ˆų”‚Ģ”z’u‚š‚·‚é‚̂ȂēA
“Æ—l‚ɍō‚‚ɍœK‰»‚³‚ꂽó‘Ō‚Å’¼Ś‚Ę“Æ‚¶B
Œ‹‰ŹA’¼Ś=<bind=<ƒ‰ƒ€ƒ_@‚¶‚į‚Č‚¢‚©H
‚Ü‚ ‚±‚ź‚ɂ‚¢‚Ă͂»‚æ‚ē‚Ģ•ū‚ŖŚ‚µ‚¢‚¾‚낤‚µA‚±‚æ‚ē‚ąˆų‚«‘±‚«Ś×Šm”F’†‚¾‚ŖB

765 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f35b-tpgq) mailto:sage [2017/03/19(“ś) 09:49:17.20 ID:7dJ8iAqk0.net]
‚æ‚Ȃ݂ɒN‚©‚ĘŠm”F‚µ‚Ă݂½‚ŖA
> std::bind‚šŒ©‚ÄECMAScript‚Ģbinding‚Ę“Æ‚¶‚ą‚Ģ‚¾‚ĘŠØˆį‚¢‚µ‚Ä‚¢‚½‚¾‚Æ‚©B(>>688)
‚Ȃ那‚ǁA‚»‚̒ʂ肾B‰“‚ŖŽv‚Į‚Ä‚¢‚½bind‚Ƃ͂¾‚¢‚Ōˆį‚¤B

766 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² 5319-v8EU) mailto:sage [2017/03/19(“ś) 09:52:16.04 ID:/fHKNSq50.net]
’¼ŚƒŠŌŚŠÖ”ƒ|ƒCƒ“ƒ^[ƒƒÉƒƒoƒCƒ“ƒh
‚Č‚ŗ‚Č‚ēƒoƒCƒ“ƒh‚Ķ“ą•”‚Ŋ֐”ƒ|ƒCƒ“ƒ^[‚šŽg‚¤‚µ‚©‚Č‚¢‚©‚ē
ƒ‰ƒ€ƒ_‚ĶŒ¾Œź‚ÅŽĄ‘•‚³‚ź‚Ă邩‚ēB

767 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (»»øÆĆŪŁ Sp97-q0jq) mailto:sage [2017/03/19(“ś) 17:47:12.05 ID:SFAOW7ATp.net]
ŠÖ”ŒÄ‚яo‚µ‚ĢƒRƒXƒg‚Å‚±‚±‚܂ŋc˜_‚Å‚«‚é‚Į‚Ц‚¢‚Č
•’iC++‚ʼn½ģ‚Į‚Ä‚ń‚¾‚ė

768 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² 537b-gO1F) [2017/03/19(“ś) 18:17:17.48 ID:jcDR9uoj0.net]
>>750
‹c˜_‚ł͂Ȃ­o—ˆ‚Ģˆ«‚¢¶“k‚Ģ•āK‚µ‚Ä‚½‚¾‚Æ‚¾‚©‚ēB

769 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f37b-12+v) mailto:sage [2017/03/19(“ś) 18:21:02.30 ID:V1EWIlT/0.net]
ƒMƒŠƒMƒŠ”—‚é‚Ģ‚ąŠy‚µ‚¢‚ą‚̂ł·



770 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² 2302-nFTW) mailto:sage [2017/03/19(“ś) 18:49:00.48 ID:6JgBGVv40.net]
>>750
‚¦AHello world‚¾‚ęH

771 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² 7302-12+v) mailto:sage [2017/03/19(“ś) 20:26:30.60 ID:fEuC6OUR0.net]
‚ ‚鎞Œn—ńƒf[ƒ^‚ɃtƒBƒ‹ƒ^‚š’Ź‚µ‚½”CˆÓ‚Ģ”ĶˆĶ‚Ģƒf[ƒ^‚šˆµ‚¤ƒNƒ‰ƒX‚šģ‚é‚ń‚¾‚Ŗ
”‚¾‚ĘƒCƒeƒŒ[ƒ^‚ę‚čRange‚Ģ•ū‚Ŗ—Ē‚¢‚Ģ‚©H

772 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f37b-12+v) mailto:sage [2017/03/19(“ś) 22:20:21.59 ID:V1EWIlT/0.net]
‚ą‚¤­‚µ‹ļ‘Ģ“I‚Ɂ@‚ĘŽv‚¢‚Ü‚·

773 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² 8330-PVeP) mailto:sage [2017/03/20(ŒŽ) 00:26:19.05 ID:V0m6X4Gc0.net]
Šī–{“I‚ɃŒƒ“ƒW‚ĶƒCƒeƒŒ[ƒ^‚ĢƒyƒA‚Ģƒ‰ƒbƒp‚Å‚µ‚©‚Č‚­
ƒCƒeƒŒ[ƒ^‚Ŗ–³‚­‚Č‚é‚킯‚Å‚ą‚Č‚¢‚©‚ē‚ʂ肠‚¦‚ø‚ĶƒCƒeƒŒ[ƒ^‚š‘O’ń‚ɍģ‚Į‚Ä‚Ø‚Æ‚Ī‚ę‚©‚ė

774 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f33c-u6wT) mailto:sage [2017/03/20(ŒŽ) 12:05:47.42 ID:OlwkB3mR0.net]
>>737
expression template‚Ķ’x‰„•]‰æ‚É‚ę‚鍂‘¬‰»‚Ģ‚½‚߂Ɏg‚¤‚ń‚ā‚Å
‘¬“x‚Ŗ•K—v–³‚¢‚Č‚ē—v‚ē‚ń‚Ģ‚ā‚Å

>>738
ŽĄ‘Ŗ‚µ‚Ă݂½H
“ń€‰‰ŽZŽqi‚Ü‚½‚ĶŒ‹‰Ź‚š–ß‚č’l‚ŕԂ·ŠÖ”j‚𑽗p‚·‚鏼‡A
x, y, z‚šŽ‚ĀƒxƒNƒgƒ‹‚Č‚ń‚©‚¾‚Ę–¾‚ē‚©‚ÉŒų‰Ź‚ ‚é
‘g‚Żž‚ŻŒ^‚¾‚Ę‘S‚­Œų‰Ź‚Č‚¢

775 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² ef6c-i8cA) mailto:sage [2017/03/20(ŒŽ) 13:05:30.60 ID:ZNh1GxS+0.net]
>>757
‚¢‚Ā‚©ŽĄ‘•‚µ‚ÄŠm‚©‚߂Ă݂悤‚Ę‚ĶŽv‚¤‚ń‚¾‚Æ‚Ē
E”Šw“I‚ÉŠČ—Ŗ‰»‚Ŗ‰Ā”\‚Čź‡‚Ķ“–‘RŽ–‘O‚ɂł«‚邾‚ÆŠČ—Ŗ‰»‚·‚é
EŒvŽZ“r’†‚Ģ’l‚ą‚ę‚­Žg‚¤‚Ģ‚Å=‚Ŗo‚Ä‚«‚Ä•]‰æ‚Ŗ•p”É
‚Čź‡A‚ ‚ń‚Ü‚čŒų‰Ź‚Č‚³‚»‚¤‚¾‚Č‚ ‚Ę‚¢‚¤‚Ę‚±‚ė‚Å“ń‚Ģ‘«

776 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² 5319-v8EU) mailto:sage [2017/03/20(ŒŽ) 13:17:35.04 ID:hOjZeIpo0.net]
expression template‚Į‚ăRƒ“ƒrƒl[ƒ^[‚Ģ‚±‚Ę‚¶‚į‚ˁH

777 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜŻŠŻøŽø MM5f-W3uL) mailto:sage [2017/03/20(ŒŽ) 13:29:36.59 ID:o1Hy6TV3M.net]
>>758
ŒvŽZ“r’†‚Ģ’l‚ą‚ę‚­Žg‚¤‚Į‚āA‚»‚ź“r’†‚Ęˆį‚¤‚Ŗ‚Č
”Ÿ”‚Ę‚¢‚¤l‚¦•ū‚ɂ‚¢‚āA‚ą‚¤­‚µ•׋­‚µ‚½•ū‚Ŗ‚¢‚¢

778 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f33c-u6wT) mailto:sage [2017/03/20(ŒŽ) 14:06:32.00 ID:OlwkB3mR0.net]
>>758
‚ [‚Ü‚¾ŽĄ‘•‚µ‚ĂȂ¢‚Ģ‚Ė
Ž©•Ŗ‚ĢŽĄ—p‚·‚éƒR[ƒhi‚SŽŸŒ³‚Ü‚Å‚ĢƒxƒNƒgƒ‹A‚S‚˜‚S‚

779 –¼‘OFÜ‚Å‚Ģs—ńj‚¾‚Ę‚T`‚R‚O“‚­‚ē‚¢‚ĢŒüć‚Č‚ń‚ŁAŽĄ‘•‚·‚é˜J—Ķl‚¦‚é‚ĘÅŒć‚Ģƒ_ƒ‰Ÿ‚µ‚Å‚ą‚ę‚©‚Į‚½‚Č‚Ę‚ĶŽv‚¤‚Æ‚Ē

„EŒvŽZ“r’†‚Ģ’l‚ą‚ę‚­Žg‚¤‚Ģ‚Å=‚Ŗo‚Ä‚«‚Ä•]‰æ‚Ŗ•p”É
ˆź‰žAa = b + c;’ö“x‚ĢŽ®‚Å‚ąŒų‰Ź‚ ‚é‚ɂ͂ ‚é
‘½•ŖƒCƒ“ƒ‰ƒCƒ““WŠJ‚³‚ź‚Ä‚ąAƒŒƒWƒXƒ^‚ĢŽg—pŒų—¦‚Ŗ‚æ‚å‚Į‚Ę—Ē‚­‚Č‚é‚ń‚¾‚ĘŽv‚¤
a = b + c;
‚Ż‚½‚¢‚ČŽ®‚Å
for (int i = 0; i < 3; i++)
@@a.f[i] = b.f[i] + c.f[i];
‚Ę‚¢‚¤ŒvŽZ‚É“WŠJ‚³‚ꂽ•ū‚ŖAƒŒƒWƒXƒ^‚šŽg‚¢Ų‚ē‚Č‚¢‚©‚ē‚¶‚į‚Č‚¢‚©‚Č‚Ę
i‚æ‚Č‚Ż‚Éƒ‹[ƒv‚ĶƒAƒ“ƒ[ƒ‹‚³‚ź‚é‘O’ń‚¾‚Æ‚ĒAƒq[ƒv‚ÉŠm•Ū‚·‚é‚ꂤ‚Č’·‚¢ƒxƒNƒgƒ‹‚Å‚ąET‚Ģ•ū‚ŖŒų—¦—Ē‚¢‚Ķ‚ø
‚ ‚Ę‚±‚̗Ⴞ‚ʁASSE‚Ę‚©‚ĢSIMD‚ĢƒCƒ“ƒgƒŠƒ“ƒVƒbƒNŽg‚¤‚Ę‚SŽŸŒ³‚܂őg‚Żž‚ŻŒ^‚ɂȂé‚̂ŁA‘S‚­ET‚ĢˆÓ–”‚Ŗ–³‚­‚Ȃ邗j

•””‚Ģ‘g‚Żž‚ŻŒ^‚šŠÜ‚މ‰ŽZ‚ŁASIMD‚Ę‚©‘¼‚Ģ‚‘¬‰»‚šŽg‚Į‚½ć‚Å‚³‚ē‚É‘¬‚­‚µ‚½‚¢‚Č‚ēAET‚Ķ‚Ø‚·‚·‚ß‚µ‚½‚¢
‚½‚¾‚µŒvŽZ‰ß’ö‚Åx‚Ŗy, z‚ÉŠ±Ā‚·‚é‚ꂤ‚ČŒvŽZi“ąĻAŠOĻ‚Ę‚©j‚É‚ĶETŽg‚¦‚Č‚¢‚̂ŒˆÓ
[]
[‚±‚±‰ó‚ź‚Ă܂·]



780 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f33c-u6wT) mailto:sage [2017/03/20(ŒŽ) 14:14:14.02 ID:OlwkB3mR0.net]
’ł³
‚wx‚Ŗy, z‚ÉŠ±Ā‚·‚é‚ꂤ‚ČŒvŽZ
›Še—v‘f‚𕔐”‰ń•]‰æ‚·‚é‚ꂤ‚ČŒvŽZ
a = cross(b, c);
‚Č‚ē‘åä•v‚¾‚Æ‚Ē
a = cross(b, c) * d;
‚Ę‚©‚ā‚é‚ʏęŽZ‚̉ń”‚Ŗ‘‚¦‚邵ŒvŽZŒ‹‰Ź‚Ŗ‹¶‚Į‚½‚č‚·‚é

781 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜŻŠŻøŽø MM5f-W3uL) mailto:sage [2017/03/20(ŒŽ) 14:25:46.95 ID:o1Hy6TV3M.net]
>>762
‰”‚©‚ē•ā‘«
ublas‚Č‚ń‚©‚Ķ•””‰ń•]‰æ‚š‘O’ń‚Ę‚µ‚ĂāA‚»‚Ģ‚Ü‚ÜŽg‚¤‚Ę’x‚¢
‚Ȃ̂ŁAnoalias‚Ę‚¢‚¤‚ą‚Ģ‚Ŗ—pˆÓ‚³‚ź‚Ä‚é

782 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² cf6b-8YZg) mailto:sage [2017/03/20(ŒŽ) 16:40:52.42 ID:d0t0+ba+0.net]
‚Ȃ那‚Ē
‚ę‚­‚ķ‚©‚ē‚ń

783 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² bf0b-8YZg) mailto:sage [2017/03/20(ŒŽ) 17:28:44.64 ID:lZKrgjvb0.net]
Œ‹˜_
expression template‚Ķ‰ČŠwŒn”’lŒvŽZ‚É‚µ‚©Œų‰Ź‚͂Ȃ¢
‚»‚¤‚¢‚¤‚Ģ‚ĶŠł‚Ƀ‰ƒCƒuƒ‰ƒŠ[‚Ŗ‘¶Ż‚·‚é
‚ę‚Į‚ÄŽ©•Ŗ‚Åexpression template‚šŽĄ‘•‚·‚é•K—v‚É‹ģ‚ē‚ź‚鏼–ʂ͂قڂȂ¢

784 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f33c-u6wT) mailto:sage [2017/03/20(ŒŽ) 18:08:39.79 ID:OlwkB3mR0.net]
>>765
„‰ČŠwŒn”’lŒvŽZ‚É‚µ‚©Œų‰Ź‚͂Ȃ¢
‚ł͂Ȃ­‚āAu‘¬“x‚Ŗ•K—v‚Čź–Ź‚Å‚ąAŽĄ‘•‚·‚é—Dę“x‚Ķ’į‚¢v‚Č‚ē‚ķ‚©‚é

Ž©•Ŗ‚ŖˆČ‘O’²‚ׂ½ŒĄ‚肳́AET‚ĘSIMD‚š“ÆŽž‚ÉŽg‚Į‚Ă邹‚͖̂³‚©‚Į‚½
‚Ķ‚Į‚«‚čŒ¾‚Į‚āA‘¬“x‚Ŗd—v‚ȋǖʂ©‚ĀSIMD‚ŖŽg‚¦‚éƒ}ƒVƒ“‚Ȃ̂ɂ܂øSIMD‚šŽg‚ķ‚Č‚¢‚Ę‚¢‚¤‚̂͗L‚蓾‚Č‚¢
‚Æ‚Č‚·‚킯‚ł͂Ȃ¢‚ŖASIMD–½—ß‚Ŗ‚ ‚éˆź”Ź“I‚Čƒ}ƒVƒ“‚ɂ؂Ƃ鐔’lŒvŽZ‚ɂ́A”‚ ‚éET‚Ģƒ‰ƒCƒuƒ‰ƒŠ‚͂܂Ƃą‚ÉŽg‚¦‚ń‚Ģ‚¶‚į‚Č‚¢‚©
‚Ä‚¢‚¤‚©‰ČŠwŒvŽZ‚Č‚ēET‚ę‚čASIMD‚āGPGPU‚šŽg‚¤•ū‚Ŗę

Ž©•Ŗ‚Ģź‡‚ĶƒQ[ƒ€‚Å‚ĢŒvŽZ‚Č‚ń‚ŁACPU‚©‚Āƒq[ƒv‚¶‚į‚Č‚­ƒXƒ^ƒbƒN‚šŽg‚¤•K—v‚Ŗ‚ ‚é‚Ģ‚Å
‚»‚ĢŽž“_‚ÅuBlas‚āBlitz‚Ķ‘I‘šŽˆ‚©‚ēŠO‚ź‚é‚ń‚¾‚ķ

785 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² 7302-12+v) mailto:sage [2017/03/20(ŒŽ) 18:31:45.48 ID:E6+3UOyx0.net]
‚ ‚ē‚ä‚é–Ź‚ōœK‰»‚µ‚½ƒI[ƒvƒ“ƒ\[ƒX‚Ȑ”’lŒvŽZƒ‰ƒCƒuƒ‰ƒŠ‚šģ‚é‚ꂤ‚Ȑl‚Č‚ń‚Đ¢ŠE‚Å‚ą‚Ł‚Ś‹‚Č‚¢‚¾‚ė
”Šw‚Ę•Ø—‚≻Šw‚ĘC++‚ł̐”’lŒvŽZ‚ÉŠÖ‚·‚é‘¢Œw‚Ŗ[‚­‚āAˆ—Œn‚āƒ†[ƒXƒP[ƒX‚š‘z’肵‚ÄŒ`‚ɂł«‚Č‚Æ‚ź‚Ī‚¢‚Æ‚Č‚¢
‹ą‚ɂȂē‚Č‚¢‚µŽļ–”‚É‚·‚é‚ɂ͒n–”‚·‚¬‚é
˜_•¶‚Ŗ‘‚Æ‚ź‚Ī‚¢‚¢‚Æ‚Ēƒ‰ƒCƒuƒ‰ƒŠŠJ”­Ž©‘Ģ‚šƒƒCƒ“‚É‚·‚邱‚Ƃ͂ł«‚é‚Ģ‚©‚Ē‚¤‚©‚ę‚­‚ķ‚©‚ē‚ń‚µ

786 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f33c-u6wT) mailto:sage [2017/03/20(ŒŽ) 19:35:01.25 ID:OlwkB3mR0.net]
‚»‚¤‚¢‚¤ƒ‰ƒCƒuƒ‰ƒŠ‚Ķ‚©‚Č‚č“‚¢‚¾‚낤‚ˁEEE
‚¾‚©‚ēŒ‹‹ĒŽ©•Ŗ‚ōģ‚é•K—v‚Ŗ‚ ‚é‚ń‚¾‚ķiET‚Ķ˜J—Ķ‚āƒoƒO‰ń”š‚ŖƒAƒŒ‚¾‚Æ‚ĒAŒų‰Ź‚Ŗ–³‚¢‚킯‚ł͂Ȃ¢j

787 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² cf6b-8YZg) mailto:sage [2017/03/20(ŒŽ) 19:39:51.74 ID:d0t0+ba+0.net]
‚Ø‘O‚ē‚Ģģ¬‚µ‚½ƒ‰ƒCƒuƒ‰ƒŠ‚š”z•z‚µ‚½‚炳‚¢‚‚悶‚į‚ˁH

788 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² 537b-gO1F) [2017/03/20(ŒŽ) 19:44:06.12 ID:+YHRRlIg0.net]
Eigen‚Ŗexpression template‚ąSIMD‚ąŽĄ‘•‚µ‚Ä‚½‚ĘŽv‚¤‚Æ‚Ē

789 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² cf6b-8YZg) mailto:sage [2017/03/20(ŒŽ) 19:47:48.92 ID:d0t0+ba+0.net]
‚Ø‘O‚ē‚Į‚ăR[ƒh‘‚­‚Ę‚«–¾Ž¦“I‚ɃXƒR[ƒvŽg‚¤HH



790 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² f33c-u6wT) mailto:sage [2017/03/20(ŒŽ) 20:52:21.66 ID:OlwkB3mR0.net]
>>770
‚ [[A‚»‚¤‚¢‚¦‚Ī‚ ‚Į‚½EEEE‚—
‚·‚Ü‚ń‘å‰R‚±‚¢‚Ä‚½

https://ja.wikipedia.org/wiki/C%2B%2B_AMP
‚æ‚Č‚Ż‚Éƒ}ƒCƒi[‚Č‚Ŗ‚炱‚ń‚Č‚ń‚ą‚ ‚é

>>771
std‚Č‚ēstd::‚Ā‚Æ‚ÄA‚»‚źˆČŠO‚Č‚ēusingéŒ¾‚ł悭Žg‚¤‚ā‚Ā‚¾‚ÆŽę‚荾‚Ž‚©‚Č‚Ÿ

791 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ģ–¼–³‚µ‚³‚ń (ÜÆĮ®² ef8c-h49x) [2017/03/21(‰Ī) 00:17:02.18 ID:ooaEszBV0.net]
Expression template‚Į‚ĉE•Ó’lŽQĘ‚ ‚鍔‚Å‚ą•K—v‚Ȃ́H






[ ‘±‚«‚š“Ē‚Ž ] / [ Œg‘єŠ]

‘O100 ŽŸ100 ÅV50 £ [ ‚±‚ĢƒXƒŒ‚šƒuƒbƒNƒ}[ƒNI Œg‘тɑ—‚é ] 2ch‚Ģread.cgi‚Ö
[{”Ā Å‹ß—§‚Į‚½ƒXƒŒ•”M‚¢ƒXƒŒˆź—— : {”Ā Å‹ß—§‚Į‚½ƒXƒŒ^‹LŽŅ•Źˆź——]iGLĶMjƒ322KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
’S“–:undef