CppCon 2019: Jason Turner “The Best Parts of C++"
Vložit
- čas přidán 28. 04. 2024
- CppCon.org
-
Discussion & Comments: / cpp
-
Presentation Slides, PDFs, Source Code and other presenter materials are available at: github.com/CppCon/CppCon2019
-
C++ is a big language, and it gets bigger every year. Is C++ it too big? Do we just continue to make the language harder to learn? Or, perhaps, do these language additions actually make the language better and easier to use? We will take a pragmatic look at the changes brought to C++ over the years and what impact they have had on how we write code.
-
Jason Turner
Developer, Trainer, Speaker
Greater Denver Area
Host of C++Weekly / jasonturner-lefticus , Co-host of CppCast cppcast.com, Co-creator and maintainer of the embedded scripting language for C++, ChaiScript chaiscript.com, and author and curator of the forkable coding standards document cppbestpractices.com.
I'm available for contracting and onsite training.
-
Videos Filmed & Edited by Bash Films: www.BashFilms.com
*-----*
Register Now For CppCon 2022: cppcon.org/registration/
*-----*
Cudos to Jason. He delivers the best talks of them all. Fun and interesting to watch. Never got bored.
A talk like this should exist for every language!
CPPCon belongs in the list of best parts of C++
"Who here is stuck on C++98 ..." I feel you :-)
This is the 1st Time I've heard a 1hr talk on C++Con!
Thanks, Jason! For your awesome content, and great way of presentation!
Glad you liked it!
I'm returning to C++ after 15 years of living in PHP and this video explains so many things! Thanks!
Similar story, Wasted so many year. Nice to hear you founded again the right path!
I don't like C++ (my personal prejudices) but even I can agree that this is the right path =)
PHP-land? Shudder!!!!
Same here too. Going back to the fundamentals of C++ after living comfortably in the luxury of OO languages for more than 12 years, talks like these brings me both revelations and comfort. And also a small does of anxiety from realizing that I have a LOT to catch up on.
Just starting to learn C++ here. This video gave me a headache, but it was worth it! Thanks
Glad it helped!
This talk is genuinely awesome and loaded!
Jason Turner you are my hero!
Mine too!
Amazing talk!
Unbelievably informative and concise,
which is so rare nowadays.
22/7 = 3
24:08 interesting how the audience member suggested "a functor" due to the mistaken adoption of the term to mean "function object" only in the context of C++, and Jason either wasn't aware of that historical accident (or was aware but was making a joke) and assumed the audience member was talking about the functor of category theory
Missing / Skipped Chapters...
33:19 #16 Concepts
35:06 #17 std:: string_view
amazing! I appreciate your nice work!
0:00 preface
1:06 overview
*The Best Parts of C++*
02:01 #01: The C++ Standard
03:37 #02: `const`
05:28 #03: Deterministic Object Lifetime and Destruction
07:44 #04: `template`s
09:46 #05: Algorithms and the Standard Template Library
12:28 #06: `std::array`
14:50 #07: List Initialization
16:29 #08: Variadic Templates
17:57 #09: `constexpr`
19:01 #10: `auto`
21:56 #11: Return type deduction for normal functions
23:26 #12: Lambdas
26:10 #13: Generic and Variadic Lambdas
26:48 #14: Range-based `for` loop
28:40 #15: Structured Bindings
30:02 #16: Concepts
33:40 #17: `std::string_view`
35:29 #18: Text Formatting
37:42 #19: Ranges
39:40 #20: Class Template Argument Deduction
41:06 #21: rvalue References
43:20 #22: Guaranteed Copy Elision
46:44 #23: Defaulted and Deleted Functions
49:17 #24: `std::unique_ptr` and `std::make_unique`
50:27 #25: Fold Expressions
53:39 Key C++98 Features
53:51 Key C++11 Features
54:08 Key C++14 Features
54:21 Key C++17 Features
54:28 Key C++20 Features
54:36 Bonus Feature: Tools!
56:00 summary
57:11 question
Thanks Jason for the talk, it's pretty awesome, you covered a lot of parts of the language.
After finally being able to use C++11 for a couple of years, I have no desire at all to go back to C++98/03. Great talk, I'm now using most of these without even thinking about how I would have had to do it (if I even could) in 98/03.
Love this video
For double free problem, only occurs if I disable RVO via compilation flag. At least, I tested it with gcc 9.1.
Good summary on features we can use :)
Thanks, very useful.
Other languages should have like this channel.
Great presentation!
Glad you liked it!
24:55 in line 11 it needs to be "&value) const {" instead of "&value) {", otherwise line 24 won't compile
For some odd reason MSVC still can't do auto in function params, while last time I tried on clang it worked just fine. Very annoying.
C++ The Good Parts
22/7 = 3 because of integer division
Called it
I don't get it why the code in 10:22 is wrong ? can someone please tell me why ?
If you don't explicitly delete the default move and copy constructors, the copy assignment op, and move assignment op here, you can reassign the Data object to point to something else without explicitly calling the destructor because Data contains a member of type *T (pointer to a template object) in this case: *data
So you could write:
int main()
{
Data x(1, 2, 8, 10, 11);
Data y(a, b, c);
x = y; //Major memory leak, original values from 'x' still exist because '*data' is a pointer
}
To normal people he looks like a man…. To c++ programmers: a beast with horns
For me best book that i learn moor feature is Bjarn C++ Book and Stepanov paper and books. And don’t need more because will speed too much time for some thing and without efficiency >>>.
Im sure there are few who agree with me, but auto is not a good habit in my opinion. Any type/class should never be long enough to use it for readability, and in general it just destroys readability.
Solutions to problems created by solutions to problems created by solutions to problems. Just avoid sugar. It's the root of all evil, that's why Fortran survives.
As does C.
'some types can be ugly' - most clueless comment ever. that's the point, that's why we have type systems