Cudos to Jason. He delivers the best talks of them all. Fun and interesting to watch. Never got bored.
@projectivemotion5 жыл бұрын
I'm returning to C++ after 15 years of living in PHP and this video explains so many things! Thanks!
@RoyBellingan4 жыл бұрын
Similar story, Wasted so many year. Nice to hear you founded again the right path!
@ЮрийШпорхун3 жыл бұрын
I don't like C++ (my personal prejudices) but even I can agree that this is the right path =)
@stephenhowe41072 жыл бұрын
PHP-land? Shudder!!!!
@icemojo2 жыл бұрын
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.
@ngideo9 ай бұрын
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
@TheMR-7772 жыл бұрын
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!
@CppCon2 жыл бұрын
Glad you liked it!
@davidm.johnston89944 жыл бұрын
Just starting to learn C++ here. This video gave me a headache, but it was worth it! Thanks
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.
@xdavidliu2 жыл бұрын
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
@devnexen5 жыл бұрын
"Who here is stuck on C++98 ..." I feel you :-)
@AxayJha4 жыл бұрын
This talk is genuinely awesome and loaded!
@user-0j27M_JSs2 күн бұрын
At 5:11 a sentence "An object declared `const` or accessed via a `const` reference or a `const` pointer cannot be modified" is actually incorrect for its last part. A `const` pointer cannot be modified, but the object that this `const` pointer points to **can** be modified if it points to a non-const object!
@adrianstaniec5 жыл бұрын
Amazing talk! Unbelievably informative and concise, which is so rare nowadays.
@not_ever4 жыл бұрын
22/7 = 3
@naughtiusmaximus1105 жыл бұрын
Jason Turner you are my hero!
@dexxpredwarior90334 жыл бұрын
Mine too!
@victorshcherbakov4602 Жыл бұрын
Thanks Jason for the talk, it's pretty awesome, you covered a lot of parts of the language.
@saeed62964 жыл бұрын
I don't get it why the code in 10:22 is wrong ? can someone please tell me why ?
@Dave_thenerd3 жыл бұрын
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 }
@xdavidliu2 жыл бұрын
24:55 in line 11 it needs to be "&value) const {" instead of "&value) {", otherwise line 24 won't compile
@sinanlin74714 жыл бұрын
amazing! I appreciate your nice work!
@zxnnightstalker22893 жыл бұрын
Other languages should have like this channel.
@IndellableHatesHandles Жыл бұрын
22/7 = 3 because of integer division
@IndellableHatesHandles Жыл бұрын
Called it
@robert369022 жыл бұрын
Great presentation!
@CppCon2 жыл бұрын
Glad you liked it!
@simonfarre49073 жыл бұрын
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.
@gongchen8 Жыл бұрын
Thanks, very useful.
@haxpor5 жыл бұрын
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 :)
@__hannibaal__2 жыл бұрын
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 >>>.
@SillySussySally4 жыл бұрын
Love this video
@rontman5 жыл бұрын
C++ The Good Parts
@imlovinit12322 жыл бұрын
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.
@pedromiguelareias3 жыл бұрын
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.
@xequals-pc1wl2 жыл бұрын
As does C.
@bocckoka3 жыл бұрын
'some types can be ugly' - most clueless comment ever. that's the point, that's why we have type systems