Understanding C++ Vector (Dynamic Arrays)

  Рет қаралды 23,741

pikuma

pikuma

Күн бұрын

Пікірлер: 59
@abbasio
@abbasio 10 ай бұрын
Thanks for this video! I'm currently taking your C++ 2D Game Engine course, and took this detour to better understand the Vector class, since I'm coming from a web development background where everything is much more abstracted. I made an insert implementation as follow: void Insert(int index, T value){ //Handle the case where we're already at the max size before inserting if(size == capacity){ T* newArray = new T[capacity * 2]; for (int i = 0; i < size; i++){ newArray[i] = elements[i]; } delete[] elements; elements = newArray; capacity *= 2; } //Increase the size by 1 size++; //Loop over the array in reverse, setting each value equal to the one before, stopping at the given index for(int i = size - 1; i >= index; i--){ elements[i + 1] = elements[i]; } //Replace the given index with the given value elements[index] = value; } It's basic and there might be some edge cases I overlooked, but it seems to work from my testing.
@phlimma
@phlimma Жыл бұрын
One more follower. I came through @Akitando channel. Very nice explanation.
@pikuma
@pikuma Жыл бұрын
Welcome aboard! Abraços!!! :)
@phlimma
@phlimma Жыл бұрын
@@pikuma and please accept Akita's defy to choose 3 linux distros. ;-)
@ayoubelmhamdi7920
@ayoubelmhamdi7920 2 жыл бұрын
this is one of best c/cpp vectors tutorial
@achyuththouta6957
@achyuththouta6957 2 жыл бұрын
Wow your knowledge about this is so deep. I'm trying to develop my skill and knowledge in programming as I'm a beginner in it. I've started C++ because some people said it's the hardest to learn so I thought why not? I like learning hard stuff but theres way too much in C++
@masabh
@masabh Жыл бұрын
I really should've found your youtube channel earlier. I'm doing your assembly language course on udemy too. You are a very good teacher.
@Luard-xq3zd
@Luard-xq3zd 8 ай бұрын
I recently started learning about vectors and I found this vid really helpful
@fabianrr
@fabianrr 2 жыл бұрын
Eso es lo que le falta a tu canal de KZbin, algo desde lo básico y de ahí pasar a tus cursos
@arturmg2068
@arturmg2068 Жыл бұрын
i cant belive your channel just have 10k subscribers, your videos are so good!!
@TheJGAdams
@TheJGAdams 2 жыл бұрын
I love how you kept the memories of the classic retro games alive. Good stuff! :) So, vector and C++ can work for console like NES? If so, that's really cool!
@pikuma
@pikuma 2 жыл бұрын
There are many homebrew games developed in C.
@gammyhorse
@gammyhorse Жыл бұрын
Every single one of your videos is awesome. Thank you!
@Miura-Anjin
@Miura-Anjin Жыл бұрын
Thanks a lot. It makes sense now. What do you suggest me if I decide to my own implement of stack and queue?
@baixodedata2802
@baixodedata2802 Жыл бұрын
tu é lindão em ..... vim pelo akita
@pikuma
@pikuma Жыл бұрын
Grande Akita! :) Abração e obrigado pelo comment.
@Dannnneh
@Dannnneh 2 жыл бұрын
The title made me think this would be an in-depth look at the machinations of how the standard library's vector _really_ works, but this is a very basic introduction. Your element-removals do not even call any potential destructor :/
@dudu88games
@dudu88games Жыл бұрын
Ótima explicação, parabéns!
@arturmg2068
@arturmg2068 Жыл бұрын
maravilhoso!
@starc0w
@starc0w Жыл бұрын
Dear Professor Pezzi Thanks for the video! Very well explained! If I wanted to do something like this in C. What do I have to pay attention to, besides checking whether there is enough memory (malloc). Are there things that I absolutely have to do? (You talked about the whole thing not being so trivial).
@pikuma
@pikuma Жыл бұрын
Good question! We have to use a similar idea, but allocate using malloc(), reallocating/doubling size when necessary using realloc(), and freeing resources with free(). To achieve some sort of "generic" type handling with your dynamic array (for example, being able to create and manipulate different types), we could take advantage of void* and use macros to resolve the type dynamically at compile time. Thse repos are good examples of a simple dynamic array implementation in C99 using the ideas I mentioned above. github.com/eignnx/dynarray github.com/gustavopezzi/dynamicarray
@starc0w
@starc0w Жыл бұрын
@@pikuma Very good, thanks for the advice and sources. I'll be happy to look at that!
@DevSlowz
@DevSlowz 2 жыл бұрын
Great content as always. Keep up the great work... ps your paid courses are amazing!
@AQFearfullMage
@AQFearfullMage 7 ай бұрын
Thank you, this is very useful.
@starc0w
@starc0w Жыл бұрын
Great! Thank you Gustavo!
@uanbu6539
@uanbu6539 Жыл бұрын
Hi Gustavo, do you have a video about socket programming using c++?
@SachinHiremath-kw2rw
@SachinHiremath-kw2rw Жыл бұрын
Nice explaination
@DanielTolentino42
@DanielTolentino42 Жыл бұрын
Awsome! Do you have the dotfiles of your vi setup that you can share? Thanks
@jackgame8841
@jackgame8841 Ай бұрын
37:28 in lines 23 why it had a lot of const? first const and last const?
@pablouesc
@pablouesc Жыл бұрын
Vim pelo Akita! Já inscrito no canal!
@pikuma
@pikuma Жыл бұрын
Grande Pablo! Abraços.
@wakeupneo101
@wakeupneo101 Жыл бұрын
Parabéns xirú. Não conhecia teu canal, acabei chegando aqui pelo Akita. Muito bom. Inscrito e fortalecendo a comunidade.
@pikuma
@pikuma Жыл бұрын
Opa James, obrigado! Um grande quebra costela. 🙂
@therealherbzy
@therealherbzy 2 жыл бұрын
Great video!
@preoalex8298
@preoalex8298 Жыл бұрын
What font are you using in your IDE
@dmitrysavkin5981
@dmitrysavkin5981 7 ай бұрын
What about, if T doesn't have constructor? new T[2 * n] throws errror
@desossandoTI
@desossandoTI Жыл бұрын
Very good !!! thanks!
@abrorabyyu6221
@abrorabyyu6221 Жыл бұрын
this person is cool af
@danilonascimento3545
@danilonascimento3545 Жыл бұрын
vim pelo akita, gostei muito do canal parabéns.
@pikuma
@pikuma Жыл бұрын
Grande Danilo! Obrigado.
@ticiusarakan
@ticiusarakan Жыл бұрын
а зачем float? например 320х240 разрешение предполагает что нам не нужны знаки после запятой. или я что то недопонял?
@katrielaraujo5090
@katrielaraujo5090 Жыл бұрын
Seu canal parece muito legal o Akita indicou e estou gostando
@AurelianBuia
@AurelianBuia Жыл бұрын
what font do you use?
@pikuma
@pikuma Жыл бұрын
IBM's Code Page 437
@AurelianBuia
@AurelianBuia Жыл бұрын
@@pikuma thank you!!
@mateivoican
@mateivoican 9 ай бұрын
void Insert(int index, T value){ if (size == capacity){ T* newarr = new T[capacity*2]; for (int i = 0; i index; i--) { elements[i] = elements[i-1]; } elements[index] = value; size++; }
@antoinedevldn
@antoinedevldn 2 жыл бұрын
The internet needs to know what you are drinking in this crazy glass!
@lucassamuel6069
@lucassamuel6069 Жыл бұрын
I'm sure your first language is portuguese, are you brazilian?
@pikuma
@pikuma Жыл бұрын
yes
@lucassamuel6069
@lucassamuel6069 Жыл бұрын
@@pikuma Cool, I know you didn't ask, but I'm studying Computer Engineering at UTFPR in Paraná-BR
@pikuma
@pikuma Жыл бұрын
@@lucassamuel6069 Haha. Que legal. Eu tenho vários amigos por lá. Sou do RS. 🙂
@leandrocastro1291
@leandrocastro1291 Жыл бұрын
Gustavo, tenho uns cursos seus na Udemy e fiquei desconfiado quando vi um chimarrao em uma das aulas haha. Vc é fera, ensina muito bem.
@dghung2854
@dghung2854 Ай бұрын
bro use typewriter for coding 💀
@Felipekimst
@Felipekimst Жыл бұрын
chimarrão
@pikuma
@pikuma Жыл бұрын
Claaaaro! ❤️🙂🇧🇷
@nickvatanshenas9251
@nickvatanshenas9251 10 ай бұрын
Great video!
Creating a Game Loop with C & SDL (Tutorial)
1:50:46
pikuma
Рет қаралды 57 М.
Mia Boyka х Карен Акопян | ЧТО БЫЛО ДАЛЬШЕ?
1:21:14
Что было дальше?
Рет қаралды 11 МЛН
PRANK😂 rate Mark’s kick 1-10 🤕
00:14
Diana Belitskay
Рет қаралды 6 МЛН
2 MAGIC SECRETS @denismagicshow @roman_magic
00:32
MasomkaMagic
Рет қаралды 33 МЛН
STL std::vector | Modern Cpp Series Ep. 116
31:01
Mike Shah
Рет қаралды 3,7 М.
C++ Vectors and Dynamic Arrays
16:24
Kenny Yip Coding
Рет қаралды 3,5 М.
Faster, Easier, Simpler Vectors - David Stone - CppCon 2021
1:00:56
Linear Algebra in C++ -  Part 1 - A simple class to handle matrices
41:55
QuantitativeBytes
Рет қаралды 25 М.
Stop using std::vector wrong
23:14
The Cherno
Рет қаралды 143 М.
31 nooby C++ habits you need to ditch
16:18
mCoding
Рет қаралды 817 М.
Why do we use SDL with C & C++?
16:26
pikuma
Рет қаралды 45 М.
Tools to make a Game Engine in C++
48:03
pikuma
Рет қаралды 56 М.
VECTOR/DYNAMIC ARRAY -  Making DATA STRUCTURES in C++
45:25
The Cherno
Рет қаралды 164 М.
Mia Boyka х Карен Акопян | ЧТО БЫЛО ДАЛЬШЕ?
1:21:14
Что было дальше?
Рет қаралды 11 МЛН