Irksome C++
programmer for over 60 years, programming in C++ since 1982. • Experienced in industry, academia, consul,ng, and research: � Founded a Computer Science Dept.; served as Professor and Dept. Head; taught and � Re?red from the Scien?fic Compu?ng Division at Fermilab, with specialty in C++ programming and in-house consul?ng. • Not dead! ☺ — s,ll doing training & consul,ng. (Email me!) 2 Copyright © 2022-2024 Irksome? • abrasive • aggrava*ng • angering • annoying • bi*ng • bothersome • bra1sh • bra2y • burdensome • carking • chafing • discomfor*ng • displeasing • disquie*ng • distrac*ve • distressing0 码力 | 15 页 | 3.03 MB | 5 月前3generic graph libraries
n0 | nl | cl Vdd Vdd |GND | AC L1 Vonut ng0 n0_ | Vdd | R2 2 nl n2 | Vdd 5 已 = {(G3),(2,0), (1 2),(5,2), (0,5), (5, 4), (0,1),(5,3)} 六 瑟 GND ng0 nl C1 Vdd Vdd |GND| AC no n0 | Vdd | R2 nl from vertex pairs (aka “edge”) Stored Property Graph T 瑟 1|31cl GND ng0 nl C1 Vdd vdd |GND| AC 2|0|Ac no0 码力 | 76 页 | 6.59 MB | 5 月前3Whats in a Name? Whats a Name in? - Walter E. Brown - CppCon 2020
� New language features (e.g., C++20’s modules) introduce new rules and update details of exis`ng rules. � Proposal N1787, a major overhaul of the C++20 rules, is under review for C++23. • So this C++ names don’t exist in vacuo • Each name is declared in a context, a region of code: � In compu`ng, such a context is termed a name space. � In C++, such a context is termed a declara`ve region. � behave that way: � Why? Any name being granted friendship isn’t a member of the class that’s gran`ng the friendship. � (If it were a member, friendship would be unnecessary!) � So the name is instead0 码力 | 7 页 | 4.37 MB | 5 月前3A New Dragon in the Den: Fast Conversion From Floating-Point Numbers
org/z/8M483Kvba https://godbolt.org/z/czhrT1hhh π https://godbolt.org/z/5aseWr7fz https://godbolt.org/z/nG88rvv5f https://godbolt.org/z/qh4zdzqG6string s3 = (stringstream{} << pi).str(); // org/z/8M483Kvba https://godbolt.org/z/czhrT1hhh π https://godbolt.org/z/5aseWr7fz https://godbolt.org/z/nG88rvv5f https://godbolt.org/z/qh4zdzqG61 2 3 Integer to string #hundreds 1 / 10 / 100 码力 | 171 页 | 6.42 MB | 5 月前3A Simple Rollback System in C++
Paul Bettner: https://www.gamedeveloper.com/programming/1500-archers-on-a-28-8-network-programmi ng-in-age-of-empires-and-beyond ● Games Programming Patterns, Robert Nystrom, https://gameprogrammingpatterns0 码力 | 58 页 | 6.61 MB | 5 月前3Cetting Started with C++
git clone https://github.com/llvm/llvm-project.git https://llvm.org/docs/GettingStarted.html#getti ng-the-source-code-and-building-llvmThe Big 3 – Compiler Toolchains Clang/LLVM Ubuntu sudo apt-get install0 码力 | 95 页 | 4.71 MB | 5 月前3Branchless Programming in C++
ti onal becomes known several cycl es l ater ● If the predi cti on was correct, nothi ng el se needs to happen ● If the predi cti on was wrong… BRANCH PREDICTION: ANTIDOTE TO BRANCHESBranchless0 码力 | 61 页 | 9.08 MB | 5 月前3Performance Matters
gle gle gle gle gle gle gle gle gle gle gle gle gle gle gle gle gle gle gle Ogle is totally disrup?ng image search.gle gle loading… Ogle is too slow!found 8,000,000 similar images This is also Luke0 码力 | 197 页 | 11.90 MB | 5 月前3Secrets of C++ Scripting Bindings
compile? add("print", +[](std::string input) { puts(input.c_str()); }); } https://godbolt.org/z/WbM5nG9er 19 . 2Copyright Jason Turner @le�icus emptycrate.com/idocpp Registering All The Functions 10 码力 | 177 页 | 1.65 MB | 5 月前3Coroutines and Structured Concurrency in Practice
destructor is never reached?What if task destructor is never reached? void reportLiveness(); Task serve(tcp::socket s); Task mainTask() { Task liveness = []() -> Task { for (;;) { co_await serve(std::move(s)); } // implicit liveness.~Task() call } If this throws the exception gets reraised hereWhat if task destructor is never reached? void reportLiveness(); Task serve(tcp::socket sleepFor(1_s); } }(); for (;;) { tcp::socket = co_await accept(); co_await serve(std::move(s)); } std::unreachable(); // implicit liveness.~Task() call } If this throws0 码力 | 103 页 | 1.98 MB | 5 月前3
共 61 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7