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
780
正規表現苦手なんです...
5mingame2
1
560
コントロールセンターとたたかう
5mingame2
2
2.3k
OpenGLを試すなら
5mingame2
0
600
課金処理とたたかう.pdf
5mingame2
1
810
Emacs meets Vim
5mingame2
1
730
タッチジェスチャーとたたかう
5mingame2
4
730
教えて!Xcode
5mingame2
4
1.7k
つかおう!滑らか移動
5mingame2
0
570
Other Decks in Programming
See All in Programming
XSLTで作るBrainfuck処理系
makki_d
0
200
A comprehensive view of refactoring
marabesi
0
470
Team topologies and the microservice architecture: a synergistic relationship
cer
PRO
0
190
複数アプリケーションを育てていくための共通化戦略
irof
10
3.9k
ワンバイナリWebサービスのススメ
mackee
10
7.7k
Use Perl as Better Shell Script
karupanerura
0
690
try-catchを使わないエラーハンドリング!? PHPでResult型の考え方を取り入れてみよう
kajitack
3
510
GraphRAGの仕組みまるわかり
tosuri13
4
160
LINEヤフー データグループ紹介
lycorp_recruit_jp
0
530
関数型まつりレポート for JuliaTokai #22
antimon2
0
100
AWS CDKの推しポイント 〜CloudFormationと比較してみた〜
akihisaikeda
3
260
Parallel::Pipesの紹介
skaji
2
910
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Visualization
eitanlees
146
16k
Making Projects Easy
brettharned
116
6.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
137
34k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
4
160
Stop Working from a Prison Cell
hatefulcrawdad
269
20k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
Building an army of robots
kneath
306
45k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
What's in a price? How to price your products and services
michaelherold
245
12k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.3k
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இ Ҏ্Ͱ͢ʂʂ