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
430
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
790
正規表現苦手なんです...
5mingame2
1
570
コントロールセンターとたたかう
5mingame2
2
2.3k
OpenGLを試すなら
5mingame2
0
610
課金処理とたたかう.pdf
5mingame2
1
820
Emacs meets Vim
5mingame2
1
730
タッチジェスチャーとたたかう
5mingame2
4
740
教えて!Xcode
5mingame2
4
1.7k
つかおう!滑らか移動
5mingame2
0
570
Other Decks in Programming
See All in Programming
코딩 에이전트 체크리스트: Claude Code ver.
nacyot
0
930
“いい感じ“な定量評価を求めて - Four Keysとアウトカムの間の探求 -
nealle
2
12k
Agentic Coding: The Future of Software Development with Agents
mitsuhiko
0
130
スタートアップの急成長を支えるプラットフォームエンジニアリングと組織戦略
sutochin26
1
7.3k
[SRE NEXT] 複雑なシステムにおけるUser Journey SLOの導入
yakenji
0
150
The Niche of CDK Grant オブジェクトって何者?/the-niche-of-cdk-what-isgrant-object
hassaku63
1
610
Git Sync を超える!OSS で実現する CDK Pull 型デプロイ / Deploying CDK with PipeCD in Pull-style
tkikuc
4
350
テスト駆動Kaggle
isax1015
1
620
バイブコーディング超えてバイブデプロイ〜CloudflareMCPで実現する、未来のアプリケーションデリバリー〜
azukiazusa1
0
330
オンコール⼊⾨〜ページャーが鳴る前に、あなたが備えられること〜 / Before The Pager Rings
yktakaha4
2
990
RailsGirls IZUMO スポンサーLT
16bitidol
0
200
AI駆動のマルチエージェントによる業務フロー自動化の設計と実践
h_okkah
0
230
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
246
12k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.5k
Documentation Writing (for coders)
carmenintech
72
4.9k
How to Think Like a Performance Engineer
csswizardry
25
1.7k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
Adopting Sorbet at Scale
ufuk
77
9.5k
Side Projects
sachag
455
42k
Building Applications with DynamoDB
mza
95
6.5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
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இ Ҏ্Ͱ͢ʂʂ