Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
C++ MIX #11 これどう読むの...?
Search
Nobuyuki Nishiyama
June 15, 2024
Programming
0
280
C++ MIX #11 これどう読むの...?
C++ MIX #11 で発表したスライドです!
https://cppmix.connpass.com/event/319167/
Nobuyuki Nishiyama
June 15, 2024
Tweet
Share
More Decks by Nobuyuki Nishiyama
See All by Nobuyuki Nishiyama
ゲーム音楽が好きすぎて実機から録音したけど需要ありますか?
5mingame2
2
680
正規表現苦手なんです...
5mingame2
1
510
コントロールセンターとたたかう
5mingame2
2
2.2k
OpenGLを試すなら
5mingame2
0
570
課金処理とたたかう.pdf
5mingame2
1
750
Emacs meets Vim
5mingame2
1
680
タッチジェスチャーとたたかう
5mingame2
4
680
教えて!Xcode
5mingame2
4
1.6k
つかおう!滑らか移動
5mingame2
0
500
Other Decks in Programming
See All in Programming
個人開発のおいしさと続け方
3l4l5
0
110
Modern Angular with the NGRX Signal Store New Rules for Your Architecture @BASTA! 2024 in Mainz
manfredsteyer
PRO
0
280
Increased Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
840
あなたのアプリ、ログはでてますか?あるいはログをだしてますか? (Funabashi.dev用 軽量版)
uzulla
2
140
Beyond the RuboCop Defaults
koic
2
350
サークルポータルを支えるフロントエンドアーキテクチャの選定
toranoana
1
200
◯◯エンジニアになった理由
gessy0129
PRO
0
110
DroidKaigi 2024 - You will 💜 Becoming a fullstack developer with your Android skills
brah
0
110
How to Break into Reading Open Source
kaspth
2
230
なぜアジャイルがうまくいかないのか?
yum3
2
140
GraphQLにおけるページネーションベストプラクティス
estie
0
160
Prolog入門
qnighy
4
1.1k
Featured
See All Featured
How GitHub Uses GitHub to Build GitHub
holman
472
290k
WebSockets: Embracing the real-time Web
robhawkes
59
7.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
6
530
Rails Girls Zürich Keynote
gr2m
93
13k
A designer walks into a library…
pauljervisheath
201
24k
The Cult of Friendly URLs
andyhume
76
6k
Design by the Numbers
sachag
277
19k
Debugging Ruby Performance
tmm1
72
12k
Navigating Team Friction
lara
183
13k
Designing Experiences People Love
moore
138
23k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
248
20k
Transcript
$ .*9 ͜ΕͲ͏ಡΉͷʜʁ ΅ͬͪήʔϜσϕϩού ࢁ৴ߦ
͜ͱͷൃ
w"464ϒϥϯυωʔϜͷ༝དྷ w ܳज़ֶʹ͓͚ΔΠϯεϐϨʔγϣϯͷͱͳ͍ͬͯΔΪϦ γϟਆͷۭඈͿനഅlϖΨαε‧1FHBTVTzɻ͜ͷ࠷ޙͷ࢛จࣈ ͕"464ͷ༝དྷͰ͢ɻʮͯ͢ͷʹߴ͍࣭ͱಠੑΛਧ͖ ࠐΉ͜ͱʹΑΓɺػʹΉϖΨαε͕͢Δڧ͞ɺੑɺ ७ਮ͞Λ۩ମతʹ࣮ݱ͢Δʯͱ͍͏ҙຯ͕ࠐΊΒΕ͍ͯ·͢ɻ· ͨɺ݄ΑΓ"464ʮΤΠεʔεʯͱൃԻ͕౷Ұ͞ Ε·ͨ͠ɻ w
IUUQTXXXBTVTDPNKQ"CPVU@"464BCPVU@BTVT@IJTUPSZ@OBNF ͜Μͳͷ͋ͬͨ
͜Μͳͷʂ υΠπޠ ӳޠ WFDUPS ϕΫτϧ ϕΫλʔ Q) ϖʔϋʔ ϐʔΤΠν #.8
ϕʔΤϜϰΣʔ ϏʔΤϜμϒϦϡʔ
wීஈͳΜͱͳ͘ݺশ͍ͯ͠Δݴ༿Λॳֶऀͦ ͷ··͍͍͑ͯͷ͔͠Βʜ🧐 ՝ൃੜʂ
Ͱຊฤ࢝·Γ·͢
w ϓϩάϥϜΛॻ͖࢝ΊΔʹ·ͣ(BNFTMOΛ։͘ w (BNFTMOϑΝΠϧ(BNFWDYQSPKΛؚΜͰ͍·͢ w Ϗϧυ͕ޭ͢Δͱ(BNFFYF͕ग़ྗ͞Ε·͢ ̍
w ϓϩάϥϜΛॻ͖࢝ΊΔʹ·ͣ(BNFTMOΛ։͘ w (BNFTMOϑΝΠϧ(BNFWDYQSPKΛؚΜͰ͍·͢ w Ϗϧυ͕ޭ͢Δͱ(BNFFYF͕ग़ྗ͞Ε·͢ ̍
w$ ͷίϯύΠϧʹ(/6ͷ($$$MBOHΛ ͍·͢ɻ·ͨόʔδϣϯཧʹHJUΛ͍·͢ ͷͰ֤ࣗͷ1$ʹΠϯετʔϧ͓͍ͯͯͩ͘͠͞ ͍ɻ-JOVYͳΒBQUJOTUBMMͰΠϯετʔϧ͠·͢ ̎
w$ ͷίϯύΠϧʹ(/6ͷ($$$MBOHΛ ͍·͢ɻ·ͨόʔδϣϯཧʹHJUΛ͍·͢ ͷͰ֤ࣗͷ1$ʹΠϯετʔϧ͓͍ͯͯͩ͘͠͞ ͍ɻ-JOVYͳΒBQUJOTUBMMͰΠϯετʔϧ͠·͢ ̎
̏ #include <malloc.h> int main(int argc, char *argv[]) { if
(argc > 0 && !p) { int a = argc < 10 ? -1 * 2 : 1 & 2; } void *p = malloc(100); }
̏ #include <malloc.h> int main(int argc, char *argv[]) { if
(argc > 0 && !p) { int a = argc < 10 ? -1 * 2 : 1 & 2; } void *p = malloc(100); }
̏ #include <malloc.h> int main(int argc, char *argv[]) { if
(argc > 0 && !p) { int a = argc < 10 ? -1 * 2 : 1 & 2; } void *p = malloc(100); }
̏ #include <malloc.h> int main(int argc, char *argv[]) { if
(argc > 0 && !p) { int a = argc < 10 ? -1 * 2 : 1 & 2; } void *p = malloc(100); }
̏ #include <malloc.h> int main(int argc, char *argv[]) { if
(argc > 0 && !p) { int a = argc < 10 ? -1 * 2 : 1 & 2; } void *p = malloc(100); }
̏ #include <malloc.h> int main(int argc, char *argv[]) { if
(argc > 0 && !p) { int a = argc < 10 ? -1 * 2 : 1 & 2; } void *p = malloc(100); }
̏ #include <malloc.h> int main(int argc, char *argv[]) { if
(argc > 0 && !p) { int a = argc < 10 ? -1 * 2 : 1 & 2; } void *p = malloc(100); }
̐ struct Hoge { int x, y; }; int main()
{ Hoge v; v.x = 0; v.y = 0; }
̐ struct Hoge { int x, y; }; int main()
{ Hoge v; v.x = 0; v.y = 0; }
̐ struct Hoge { int x, y; }; int main()
{ Hoge v; v.x = 0; v.y = 0; }
̑ #include <iostream> constexpr int square(int x) { return x
* x; } int main() { int i = 0 | 2; int& h = (i / 2) << 2; if (i > 0 || h > 0) { std::cout << "Hoge\n"; } }
̑ #include <iostream> constexpr int square(int x) { return x
* x; } int main() { int i = 0 | 2; int& h = (i / 2) << 2; if (i > 0 || h > 0) { std::cout << "Hoge\n"; } }
̑ #include <iostream> constexpr int square(int x) { return x
* x; } int main() { int i = 0 | 2; int& h = (i / 2) << 2; if (i > 0 || h > 0) { std::cout << "Hoge\n"; } }
̑ #include <iostream> constexpr int square(int x) { return x
* x; } int main() { int i = 0 | 2; int& h = (i / 2) << 2; if (i > 0 || h > 0) { std::cout << "Hoge\n"; } }
̑ #include <iostream> constexpr int square(int x) { return x
* x; } int main() { int i = 0 | 2; int& h = (i / 2) << 2; if (i > 0 || h > 0) { std::cout << "Hoge\n"; } }
̑ #include <iostream> constexpr int square(int x) { return x
* x; } int main() { int i = 0 | 2; int& h = (i / 2) << 2; if (i > 0 || h > 0) { std::cout << "Hoge\n"; } }
̒ #include <string> #include <iostream> int main() { auto s
= std::string{"Hoge"}; auto c = s[1]; printf("%s", s.c_str()); std::cout << s.substr(1, 2); }
̒ #include <string> #include <iostream> int main() { auto s
= std::string{"Hoge"}; auto c = s[1]; printf("%s", s.c_str()); std::cout << s.substr(1, 2); }
̒ #include <string> #include <iostream> int main() { auto s
= std::string{"Hoge"}; auto c = s[1]; printf("%s", s.c_str()); std::cout << s.substr(1, 2); }
̒ #include <string> #include <iostream> int main() { auto s
= std::string{"Hoge"}; auto c = s[1]; printf("%s", s.c_str()); std::cout << s.substr(1, 2); }
̒ #include <string> #include <iostream> int main() { auto s
= std::string{"Hoge"}; auto c = s[1]; printf("%s", s.c_str()); std::cout << s.substr(1, 2); }
wIUUQTRJJUBDPNIEBZJUFNT GCECFE ಉ͡ΈΛ࣋ͭਓ
wจࣈใΛԻಡͰ͑Δͷ͍͠ʂ wΒจࣈใΛൃԻͰ͖ͣͱೝ͍ࣝͯ͠ Δʜͷʜʁ 㵺wТw㵺 ŇPஇ Ҏ্Ͱ͢ʂʂ