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
390
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
750
正規表現苦手なんです...
5mingame2
1
540
コントロールセンターとたたかう
5mingame2
2
2.3k
OpenGLを試すなら
5mingame2
0
590
課金処理とたたかう.pdf
5mingame2
1
800
Emacs meets Vim
5mingame2
1
710
タッチジェスチャーとたたかう
5mingame2
4
720
教えて!Xcode
5mingame2
4
1.7k
つかおう!滑らか移動
5mingame2
0
550
Other Decks in Programming
See All in Programming
エンジニア未経験が最短で戦力になるためのTips
gokana
0
240
OpenTelemetryを活用したObservability入門 / Introduction to Observability with OpenTelemetry
seike460
PRO
1
400
Day0 初心者向けワークショップ実践!ソフトウェアテストの第一歩
satohiroyuki
0
510
本当だってば!俺もTRICK 2022に入賞してたんだってば!
jinroq
0
280
マルチアカウント環境での、そこまでがんばらない RI/SP 運用設計
wa6sn
0
670
AtCoder Heuristic First-step Vol.1 講義スライド(山登り法・焼きなまし法編)
takumi152
4
1k
ノーコードツールの裏側につきまとう「20分岐」との戦い
oguemon
0
110
新卒から4年間、20年もののWebサービスと 向き合って学んだソフトウェア考古学
oguri
8
7k
AIコーディングワークフローの試行 〜AIエージェント×ワークフローでの自動化を目指して〜
rkaga
2
1.5k
PHPでお金を扱う時、終わりのない 謎の1円調査の旅にでなくて済む方法
nakka
4
1.4k
Productivity is Messing Around and Having Fun
hollycummins
0
170
Going Structural with Named Tuples
bishabosha
0
190
Featured
See All Featured
Scaling GitHub
holman
459
140k
Optimising Largest Contentful Paint
csswizardry
35
3.2k
Statistics for Hackers
jakevdp
798
220k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
Designing for humans not robots
tammielis
251
25k
RailsConf 2023
tenderlove
29
1k
Building an army of robots
kneath
304
45k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
102
19k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
29
2k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
118
51k
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இ Ҏ্Ͱ͢ʂʂ