Back to Basics: Pointers and Memory - Ben Saks - CppCon 2020

  Рет қаралды 42,508

CppCon

CppCon

Күн бұрын

Пікірлер: 24
@LarsonOliveira
@LarsonOliveira 4 жыл бұрын
One of the BEST Talk about *Pointer &Reference I've ever seen! Thank you so much, Sir. Ben Saks!
@jvsnyc
@jvsnyc 3 жыл бұрын
This talk is consistent with what others have been saying. Modern C++ written from scratch will most of the time use the newest and safest facilities provided by the latest STL versions, and we should reach to those by default. Especially the stuff about Bounds Safety and Memory Safety by default. But, the whole history of the evolution of C++ is still there, nobody is taking it away with very few notable exceptions. Old code uses it, directly and new code that is doing the hard work of providing the safer and more robust interfaces uses it under the hood. Good stuff!
@kamilziemian995
@kamilziemian995 2 жыл бұрын
Thank you for you comment. It is very helpful.
@dkutagulla
@dkutagulla 3 жыл бұрын
Simply the best talk about pointers and references
@harshpatel4390
@harshpatel4390 4 жыл бұрын
This cleared my all doubts related to pointers... Great talk Ben. Cheers!
@kamilziemian995
@kamilziemian995 2 жыл бұрын
Thank you Ben Saks for another very informative and very needed talk. I really need to go back to basics.
@CppCon
@CppCon 2 жыл бұрын
Glad it was helpful!
@henami552
@henami552 4 жыл бұрын
Even with all the scorn raw pointers are getting, I still love them.
@LightLord1870
@LightLord1870 4 жыл бұрын
I think they are cool. It's the granular control that makes it useful for certain applications.
@kar_prz
@kar_prz Жыл бұрын
Excellent resource! Thank you for delivering this talk
@sanjaygatne1424
@sanjaygatne1424 4 жыл бұрын
Great talk to demistify c/c++. But i think that having distinct operater for ptr , deref ,and ref rref will automatically demistify c/c++. because of operater overloading optical illusion occers. Which causes confusion. Which lead to brain stall to dectect errors which can be easily dectected while coding. If we avoid same operater for different functionality.
@janjezewski1205
@janjezewski1205 3 жыл бұрын
I watched just as repertory... but then I learned something new.
@kuxnal
@kuxnal 3 жыл бұрын
This is the best explanation. Thank you for this!
@jvsnyc
@jvsnyc 3 жыл бұрын
The talk is fantastic, not sure I am buying the details of the example used to show the hazards of comparisons between size_t and ptrdiff_t, which is a real hazard. We never initialize field on screen, but if there are no commas occurring between its start and the null terminator, we get back nullptr, and length becomes a huge positive number. The example shown could presumably be fixed by adding: if (nullptr == field_end) field_end = strchr( field, '\0'); before calculating the length, but signed unsigned comparison is always a hazard to watch out for nevertheless.
@JoeBurnett
@JoeBurnett 4 жыл бұрын
Great presentation, Ben! Thanks for making this.
@rafalmichalski4893
@rafalmichalski4893 4 жыл бұрын
Simple topic, but well presented / explained.
@IndellableHatesHandles
@IndellableHatesHandles Жыл бұрын
I don't think dereferencing nullptr will ever _not_ segfault. I could be wrong, but unless you're using some ancient system from the 80s, it'll always segfault.
@kalucardable
@kalucardable 4 жыл бұрын
Very good stuff, thank you. I have a question about const pointer. After deallocating the memory where a const pointer is pointing to, the const pointer becomes a dangling pointer and I cannot make this pointer point somewhere else. How can we deal with this situation?
@matgat
@matgat 4 жыл бұрын
Hi, that would be a huge "code smell", in the sense of bad designed code. In that situation you would want to reformat your code to ensure that the const pointer never outlives the pointed object.
@Maciej-Komosinski
@Maciej-Komosinski 4 жыл бұрын
How would you want to deal with this situation? What is wrong about it and why this situation requires dealing with? You made a pointer const so... it is const :-)
@jvsnyc
@jvsnyc 3 жыл бұрын
++rating for mentioning that tho the optimizer will probably make sure there is no difference on built-in types when the result is thrown away, the meaning of ++var and var++ is distinctly different, and most of the time when people write var++ they actually mean ++var. This is indeed a bad habit to get into for the times it will make a difference in behavior.
@opethforlife
@opethforlife 4 жыл бұрын
Amazing lecture, keep up
@abhishekroy938
@abhishekroy938 4 жыл бұрын
Really interesting.. Thanks
@jvsnyc
@jvsnyc 3 жыл бұрын
+1 for correctly defining dangling pointers. Too many people use the term in reference to memory leaks. The most bizarre and hard-to-debug misbehavior imaginable comes from reading, and worse still, writing to them....they are an OSHA and ISO-certified workplace safety hazard!
Back to Basics: Exceptions - Klaus Iglberger - CppCon 2020
1:01:45
Support each other🤝
00:31
ISSEI / いっせい
Рет қаралды 81 МЛН
小丑女COCO的审判。#天使 #小丑 #超人不会飞
00:53
超人不会飞
Рет қаралды 16 МЛН
Каха и дочка
00:28
К-Media
Рет қаралды 3,4 МЛН
Что-что Мурсдей говорит? 💭 #симбочка #симба #мурсдей
00:19
Pointers and dynamic memory - stack vs heap
17:26
mycodeschool
Рет қаралды 1,5 МЛН
Finally solve memory leaks in C++!
8:03
Low Level Game Dev
Рет қаралды 49 М.
Back to Basics: Concurrency - Arthur O'Dwyer - CppCon 2020
1:04:28
you will never ask about pointers again after watching this video
8:03
Andrew Kelley   Practical Data Oriented Design (DoD)
46:40
ChimiChanga
Рет қаралды 152 М.
The Return of Procedural Programming - Richard Feldman
52:53
ChariotSolutions
Рет қаралды 58 М.
Storage Duration and Linkage in C and C++ - Dan Saks
58:14
NDC Conferences
Рет қаралды 8 М.
Support each other🤝
00:31
ISSEI / いっせい
Рет қаралды 81 МЛН