Smart Pointers in C++ (Stop Using new?)

  Рет қаралды 10,388

Caleb Curry

Caleb Curry

Күн бұрын

Start your software dev career - calcur.tech/dev-fundamentals Be notified of new C/C++ course: calcur.tech/c-cpp-newsletter
Smart pointers can be a complicated subject, especially because there are multiple types! In this video we will talk about when you should use a smart pointer, and how each type works.
💯 FREE Courses (100+ hours) - calcur.tech/all-in-ones
Timestamps:
00:00 - Intro
00:45 - Old School Pointers
02:00 - When do you Need Pointers
03:53 - use New
05:27 - Shared Pointers
07:30 - Other Smart Pointers
08:56 - Unique Pointer
09:39 - Smart Pointer Functions
11:45 - Weak Pointers
13:17 - Dereferencing a Weak Pointer
14:57 - Circular Reference
15:46 - Review
⚛️ FREE React Course (20 hours) - calcur.tech/free-react-course
✅ Data Structures & Algorithms - calcur.tech/dsa-youtube
~~~~~~~~~~~~~~~ CONNECT ~~~~~~~~~~~~~~~
✉️ Newsletter - calcur.tech/newsletter
📸 Instagram - / calebcurry
🐦 Twitter - / calebcurry
🔗 LinkedIn - / calebcurry
▶️ Subscribe - calcur.tech/subscribe
👨🏻‍🎓 Courses - www.codebreakthrough.com
~~~~~~~~~~~~~~ SUPPORT ME ~~~~~~~~~~~~~~
↪ My Amazon Store - www.amazon.com/shop/calebcurry
🅿 Patreon - calcur.tech/patreon-calebcurry
🅖 GitHub Sponsors - github.com/sponsors/CalebCurry
Ⓟ Paypal - paypal.me/calcur

Пікірлер: 32
@codebreakthrough
@codebreakthrough Жыл бұрын
I hope this was helpful! Here is the course link I mentioned in the video. New C/C++ course: calcur.tech/c-cpp-newsletter
@vinniciusrosa8284
@vinniciusrosa8284 5 ай бұрын
I do not know yet how to pass unique_ptr as reference to a function. void whatever(...,std::unique_ptr &engine); - - - The call: whatever(engine). It should work, but do not compile.
@Nathan00at78Uuiu
@Nathan00at78Uuiu Жыл бұрын
let's go. This is what we need. Been using your lessons for learning anything. So far been great. thanks.
@billbez7465
@billbez7465 5 ай бұрын
Very well done. There were other videos on smart pointers that left me a bit confused. Yours is clear & understandable. Thank you
@aminramazanifar9743
@aminramazanifar9743 Жыл бұрын
As great as always. Cannot wait to see the course. Thanks!
@MichaelCohen-sb7tw
@MichaelCohen-sb7tw 3 ай бұрын
Thanks Caleb. Very clear examples and explanations.
@xbiohazardx7312
@xbiohazardx7312 11 ай бұрын
This video is very helpful, it's make me figured it out in one video huge thanks!
@ArtVandelayInc
@ArtVandelayInc 8 ай бұрын
Great tutorial! Thank you
@andreasguettinger6706
@andreasguettinger6706 Жыл бұрын
As somebody who learned and uses mainly C++98, I'm glad to see videos about these newer C++ concepts I often forget about. 👍
@alirezaarttam3344
@alirezaarttam3344 Жыл бұрын
Awsome. Thanks!
@dwivedys
@dwivedys 29 күн бұрын
Hey good presentation Caleb!
@suryadon947
@suryadon947 4 ай бұрын
Best video for smart pointers Great bro🎉
@nokia_n-gage
@nokia_n-gage 7 ай бұрын
Thanks!
@user-ln2uo5vi8e
@user-ln2uo5vi8e 9 ай бұрын
This is one of the best coding tutorial videos I've watched. Clear, concise and complete. Thank you so much for your great work!
@Sluggernaut
@Sluggernaut Ай бұрын
11:27 cracked up so hard. I do this all of the time when making videos. Edit: wth? How did that even compile at 13:12. You have to declare the data type when making a shared pointer. Weird.
@furkankaraslan9040
@furkankaraslan9040 Жыл бұрын
so unique allows one owner shared allows unlimited owner and weak one makes 0 owner at total and we need least one owner to keep scoped value alive, did i understand correctly? if i am not someone correct me please.
@fpldaily5172
@fpldaily5172 Жыл бұрын
hey bro. Please do a java springboot video or course?
@abhishekkhanchi9105
@abhishekkhanchi9105 Жыл бұрын
Hi Caleb i ran shared pointer example.its giving error . error:smart_p3.cpp:6:34: error: conversion from ‘’ to non-scalar type ‘std::shared_ptr’ requested 6 | std::shared_ptr a= std::make_shared; during compilation . which c++ compiler ur using.. I tried this on g++: gcc version 9.4.0 Please guide Thanks Abhishek
@codebreakthrough
@codebreakthrough Жыл бұрын
You have it should be (5) It looks like it thinks you are trying to use a function for the type because you put the () inside the
@abhishekkhanchi9105
@abhishekkhanchi9105 Жыл бұрын
thanks alot caleb(@@codebreakthrough ) it work for me..
@user-hh4du9ry9g
@user-hh4du9ry9g 4 ай бұрын
cystall clear!
@midewestmond9442
@midewestmond9442 8 ай бұрын
Why you using camel case btw and more can you make a video how to setup an editor for c++ development
@CCCole1
@CCCole1 Жыл бұрын
P.S. Love the content
@Antagon666
@Antagon666 9 ай бұрын
The level of abstraction is on a really akward level. On one hand yeey nice, you don't have to delete pointers manually. On the other hand, if you need to do anything more advanced like cloning, deep and or shallow copy and storing in containers, that requires even more work, knowledge and frustration than managing raw memory directly. I find using smart pointers in very simple situations, where it's not necessary at all and in complicated situations I use raw pointers, just because I hate thinking about the obscure behavior of smart pointers.
@snesmocha
@snesmocha 8 ай бұрын
Isn’t that what smart pointers?
@KaiDevvy
@KaiDevvy 5 ай бұрын
Smart pointers are a fairly thin wrapper in terms of added complexity. It's not a huge difference in understanding to use them as opposed to raw pointers, and the benefits of clearly defined ownership and automatic deallocation is monumental for the little abstraction. To me though, something that bothers me is just how verbose it is. Going from * to std::shared_ptr is a pain in the ass. Especially when you're making collections of smart pointers or the like
@sent4dc
@sent4dc Жыл бұрын
4:39 WRONG! 2 memory leaks.
@atrizzstinks
@atrizzstinks 4 ай бұрын
with automatic memory safety comes overhead
@zohnannor
@zohnannor Жыл бұрын
bro thinks hes mcoding💀💀
@hawks3109
@hawks3109 9 ай бұрын
Don't use auto in production code, the rest is good, but auto can make bad assumptions when you start getting into nested data types and other techniques that come up in production code. auto is dangerous and could lead to bad assumptions by the compiler.
Learning C++? Avoid these Beginner Mistakes...
13:47
Caleb Curry
Рет қаралды 6 М.
C++ Pointers - Finally Understand Pointers
15:56
Caleb Curry
Рет қаралды 205 М.
The delivery rescued them
00:52
Mamasoboliha
Рет қаралды 10 МЛН
Increíble final 😱
00:37
Juan De Dios Pantoja 2
Рет қаралды 39 МЛН
100😭🎉 #thankyou
00:28
はじめしゃちょー(hajime)
Рет қаралды 57 МЛН
小女孩把路人当成离世的妈妈,太感人了.#short #angel #clown
00:53
unique_ptr: C++'s simplest smart pointer
11:54
mCoding
Рет қаралды 40 М.
SMART POINTERS in C++ (for beginners in 20 minutes)
24:32
CodeBeauty
Рет қаралды 93 М.
Master Pointers in C:  10X Your C Coding!
14:12
Dave's Garage
Рет қаралды 279 М.
References in C++ Explained
15:03
Caleb Curry
Рет қаралды 96 М.
are "smart pointers" actually smart?
9:44
Low Level Learning
Рет қаралды 69 М.
WHY did this C++ code FAIL?
38:10
The Cherno
Рет қаралды 151 М.
Dynamic Memory with Malloc - Everything you Need to Know
13:51
Caleb Curry
Рет қаралды 7 М.
31 nooby C++ habits you need to ditch
16:18
mCoding
Рет қаралды 725 М.
why do void* pointers even exist?
8:17
Low Level Learning
Рет қаралды 322 М.
POINTERS in C++
16:59
The Cherno
Рет қаралды 1 МЛН
Где раздвижные смартфоны ?
0:49
Не шарю!
Рет қаралды 800 М.
Main filter..
0:15
CikoYt
Рет қаралды 3,3 МЛН
#miniphone
0:16
Miniphone
Рет қаралды 2,7 МЛН
Apple watch hidden camera
0:34
_vector_
Рет қаралды 60 МЛН
WWDC 2024 - June 10 | Apple
1:43:37
Apple
Рет қаралды 10 МЛН