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.
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.
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
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 }
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.
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 >>>.
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.
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++
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.
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!
Just starting to learn C++ here. This video gave me a headache, but it was worth it! Thanks
Glad it helped!
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.
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
"Who here is stuck on C++98 ..." I feel you :-)
Jason Turner you are my hero!
Mine too!
This talk is genuinely awesome and loaded!
Amazing talk!
Unbelievably informative and concise,
which is so rare nowadays.
22/7 = 3
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.
24:55 in line 11 it needs to be "&value) const {" instead of "&value) {", otherwise line 24 won't compile
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
}
Other languages should have like this channel.
22/7 = 3 because of integer division
Called it
amazing! I appreciate your nice work!
Thanks, very useful.
Great presentation!
Glad you liked it!
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 :)
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.
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.
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 >>>.
To normal people he looks like a man…. To c++ programmers: a beast with horns
C++ The Good Parts
Love this video
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
What the fuck?