Tremenda explicación, clases como estas son una joya mal valorada, ojala y más gente la visualizara. Le doy gracias por compartir su conocimiento, se ha ganado un nuevo subscriptor, saludos!
@juanmanuelortego5482 жыл бұрын
Tremenda explicación. De lo mejor que vi en AÑOS. Una lección que debería ser obligatoria para cualquier estudiante en lenguaje C/C++. Merecidísimo like para ud.
@pablobeckmann64942 жыл бұрын
Entendi mas que a mi profe de algoritmos y estructura de datos de la uni, sos una genia !! Un abrazo !!
@Misa-fj6mn Жыл бұрын
Increíble, días intentando entender punteros y acá entiendo en un ratito gracias
@jaazpl6244 жыл бұрын
Mejor que mi clase de la uni, muy buen vídeo y gran trabajo divulgando contenido de calidad
@erickvasquez37854 жыл бұрын
Que gran video. Al principio dude de verlo por la duración pero valió la pena cada minuto.
@JonathanTAcuna-th6vz Жыл бұрын
Deseo increiblemente, que hagas videos del resto de la materia de mi curso!!!!
@andresfeliperiostamayo73072 жыл бұрын
que nivel de pedagogia. primera vez que un tema me queda tan claro sin necesidad de reprogramarlo o reescribirlo.
@marzarte Жыл бұрын
Eres increíble programadora, tus clases son tan fluidas, claras y consisas ,gracias sensei virtual, he aprendido y aclarado muchas dudas
@helmutinternet2 жыл бұрын
Mas claro que eso, imposible! Muchisimas gracias por subir este video
@rondeau_choysky66632 жыл бұрын
Muy buena explicación, me sirvió pero lo tendré que repetir muchas veces para lograr recordar todo jajaja. Me suscribo.
2 жыл бұрын
¡Me alegra de que el video te sea útil! El asunto de recordar todo viene con la práctica, así que no te preocupes por intentar recordarlo de inmediato sino más bien por comprender los conceptos y tratar de aplicarlos mientras practiques. ¡Éxitos!
@andrewjackson5084 жыл бұрын
estoy deseando verlo, soy fan a tu modo de explicar, la lista de reproduccion de listas enlazadas es la mejor de internet en habla hispana. viniendo de usted este video garantizado que es de calidad. un saludo
@antoniolopezalvarez83253 жыл бұрын
Explicación perfectamente estructurada. Aborda los contenidos desde puntos de vista diferentes y de forma gradual. Los presenta hasta un nivel de profundidad accesible y apunta a niveles mas complejos. Muchas gracias
@robertochavarria83452 жыл бұрын
En el min 9:32 casi me explota la cabeza y eso que voy por un cuarto de video, magnifico tutorial
@abdiasfiscaltemich50973 жыл бұрын
Super mega hiper explicado, muchas gracias por ayudarme a entender los punteros, debería también enseñar, en otro curso, como explicar también como usted.
3 жыл бұрын
¡Gracias! ☺ Creo que el único "secreto" es intentar recordar qué cosas yo misma no comprendía cuando aprendí el tema que intento explicar. ¡Saludos!
@jackreacher91554 жыл бұрын
Para que universidad si tenemos a Programación desde cero. Excelentes explicaciones.
@harlesepc59062 жыл бұрын
Este video es lo maximo, que explicacion tan excelente.. La mejor explicacion que he visto en youtube, nadie que la sobrepase. Seria bueno saber una explicacion de esta forma pero con matrices.
@framb8627 Жыл бұрын
¡Muy bueno! Con esto queda muy claro el tema al respecto. Gracias por tan buen contenido
@kinsley14684 жыл бұрын
De todos los detalles, el que más me gustó es que los anuncios estan en lugares que no te corten la nota. Sigue explicando que contigo uno si entiende.
4 жыл бұрын
¡Gracias! Aunque por la ubicación de los anuncios no puedo llevarme el crédito, ya que eso es obra del algoritmo de youtube que, mediante machine learning logra saber cuáles son las pausas naturales del video 😀
@noelrodriguez1433 жыл бұрын
Brutal, me ha quitado muchas dudas. Mil gracias por esta explicación.
@jorgeguzman66852 жыл бұрын
Hermosa enseñanza.
@OlbertPerez3 жыл бұрын
Muy buena explicación la verdad, hay muchos conceptos que he escuchado antes y he entendido a medias, hasta este momento que he visto este vídeo completo.
@brayannavarro41212 жыл бұрын
Excelente explicacion, muchas gracias
@santucigod3 жыл бұрын
Muy completa la explicación. Haces videos de calidad, qué bonito.
@javierllanos87413 жыл бұрын
Explicas 10^64 veces mejor que en mi universidad :D
@mentalthink13 жыл бұрын
Están muy bien tus vídeos, las explicaciones son simplemente geniales... Sigo tu canal a ver que más me encuentro, gracias por tu labor.
@T0berius3 жыл бұрын
Sos una genia. Me sirvio y me encanto la clase; estoy eternamente agradecido.
@gzeta22512 жыл бұрын
Muy bien explicado, le agradezco mucho el trabajo realizado y espero que siga así de útil y bueno este canal!
@DryadRoot2 жыл бұрын
Excelente el contenido y la explicacion, gracias! suscrito!! :D
@mtst53073 жыл бұрын
Muy buena explicación, mejor que las que dan en la universidad
@josejimenez-wd5rw2 жыл бұрын
Excelente clase 10/10
@cesarpedroza46379 ай бұрын
Esta es la mejor explicación que encontré sobre este tema 👍
@lauraastua90313 жыл бұрын
Muchas gracias por estos videos
@josepablo72702 жыл бұрын
Excelente explicación.
@elianyeltzinpaniaguamariac42573 жыл бұрын
Gracias por tal explicación
@WalterNicolasTarsia-io8sb11 ай бұрын
uuff. muchas gracias. muy detallado y simple, la explicion. lo q necesitaba. lo de "fuga de memoria" sucede mientras se ejecuta el programa o sucede incluso luego de cerrarlo?
@tombinocapo2 жыл бұрын
varias dudas aclaradas, gracias por el aporte =)
@enmanueltejada88723 жыл бұрын
Eres muy buena, sigue haciendo contenido, me gustaría ver uno de programación orientada a objetos en c++
@pimbort3 жыл бұрын
Muchas gracias, buena explicación, arriba lenguaje C y C++.
@ramiroluduenaa2 жыл бұрын
Increíble la info, muy valiosa!
@Obishman4 жыл бұрын
Muy bueno, muy clarito, muchas gracias!
@Z_k4043 жыл бұрын
Muchas gracias ☺️ me a servido de mucho 👍💪
@DaveRoman-mc4nn4 жыл бұрын
Buen tutorial. Cabe recalcar que las referencias y punteros en C++ son diferente en cuestión sintaxis, sin embargo, a nivel de implementación, el compilador deberá de convertir la referencia a un puntero si por ejemplo lo usamos como parámetros, evidentemente, todo esto se lo hace implícitamente, sin que el programador se de cuenta, pero igual hay que tomarlo en cuenta. Otro punto que a pesar que las referencias son simplemente alias y que no debería de ocupar memoria, esto dependerá del compilador y de las optimizaciones que haga.
@johansanchez71954 жыл бұрын
Yo te conozco
@gabrielralfcaceresgabriell3194 жыл бұрын
Muy Muy bien, muchisimas gracias, sigue compartiendo este tipo de información, gracias.
@danielgomez9920 Жыл бұрын
Sencillamente Tremendo
@LuisAntonioToranzoToribio4 жыл бұрын
Conoces el termino "alojar"? En lugar de alocar que supongo querías hacer referencia a la función informática "malloc(ate)"=alojamiento de memoria o mejor memoria asignada (memory allocate=asignación de memoria) alocar=Diccionario de la R.A.E (Real Academia Española)=1. Causar locura. 2. Causar perturbación en los sentidos. Alocada=Persona que tiene cosas de loca o parece loca. Por lo demás el vídeo es de lo más completo que he visto. Gracias. Saludos desde España!
4 жыл бұрын
¡Hola! Gracias por tu comentario. Si bien soy consciente de las malas adaptaciones de palabras inglesas que se usan en el ámbito de la tecnología, hay veces que elijo usarlas por el hecho de que se las suele utilizar con frecuencia y es como posiblemente se encuentre en varios recursos e, inclusive, libros. En este caso, la función malloc es del lenguaje C, por lo que no aplica a este video (que trata sobre C++). Pero la traducción "alojar" no es la correcta, ya que podría inducir a confusión al dar la idea de que estamos almacenando un valor en ese espacio de memoria, mientras que la "alocación" (o "reserva" de memoria) es una operación que solo aparta cierta porción de memoria, del tamaño que le indiquemos, pero que no implica que se guarde nada en ella. Creo que la palabra "reservar" sería la mejor traducción.
@angelffg4 жыл бұрын
Excelente Video y explicación!
@solracesoj65944 жыл бұрын
Sería genial otro video con punteros a funciones.
@guardianvicio33673 жыл бұрын
Muy buen video que excelente explicación :D!
@hallo-welt4 жыл бұрын
Genial explicación, saludos.
@sebassnk96134 жыл бұрын
Muy bueno! Todo muy claro!
@samuelcanochocce25213 жыл бұрын
te recomendaré a mi profesor de progra :3
@johnray01013 жыл бұрын
que buena explicacion
@davidalvarez325 Жыл бұрын
Que lindo muchas gracias
@str11324 жыл бұрын
Excelente !! Muchas Gracias
@sebastianbustosguerrero53292 жыл бұрын
muy buen video
@carlosbustamante29772 жыл бұрын
Hola ¿por que en el minuto 39:57 cuando usas "function(z)" la "Z" va sin ampersand?
@simonperezrodriguez57234 жыл бұрын
Muy buen video sigue así
@HameKameHaa Жыл бұрын
Buen videoooo!!!!!!
@JulioCesar-hh9wq2 жыл бұрын
Gracias
@veronicatapia25144 жыл бұрын
sos muy Geniaaaaaaaaaaa
@andrewjackson5084 жыл бұрын
profesora una duda. en este ejemplo a y b tienen la misma direccion de memoria en la stack, pongamos 0x0DB8 y se refieren las dos al numero 7, mi duda es, cuando tenemos una funcion y dentro de ellay un parametro pasado por referencia como en por ejemplo int funcion(int &n1, int n2){}, esa variable n1 de dentro de los parametros de la funcion pasada por referencia que seria asignada a otra variable como a declarada en el main, por ejemplo int main( ) { int a = 100; int b = 25; return 0; }. ¿se refieren n1 y a a la misma direccion de memoria o se le asigna otra diferente a la referencia? eljemplo que a tuviera direccion $41B2 y de dato 100 y n1 que tuviera otra direccion de memoria como $41B5 y de dato la referencia que seria $41B2 . gracias de antemano
4 жыл бұрын
Hola, Javi. Dejame ver si entendí bien tu pregunta... ¿El código sería algo como esto? int main() { int A = 100; int B = 25; funcion(A, B); return 0; } Si es así, el parámetro n1 dentro de funcion es una referencia a la variable A, lo cual significa que todo lo que hagas con n1 dentro de la función es equivalente a hacerlo directamente con A, porque ambos son la misma variable. Por ejemplo, si la función está implementada así: void funcion(int &n1, int n2) { n1 = 8; } al retornar la llamada funcion(A, B) vas a ver que la variable A ahora guarda el valor 8, ya que fue modificado mediante la referencia que había en la función. Esto es porque, dentro de la función, n1 es "otro nombre" para la misma variable. La dirección es la misma, porque no hay dos variables sino una, con dos nombres. Eso lo podés verificar haciendo cout
@andrewjackson5084 жыл бұрын
@ ok bueno, lo primero de todo debo decir que la duda me ha quedado totalmente aclarada , muchisimas gracias de corazon. grandes explicaciones las suyas, y de verdad que lo son , ya que si te quieres enterar bien de las cosas en internet o en todo no es tan facil, una persona que explique bien no cae de los arboles, ojo y aunque las preguntas que hago parecen triviales es por que de verdad no estan bien explicadas no solo en la red sino tambien en libros, para poner un ejemplo yo entiendo bien lo que es un delegado, es decir un puntero a un metodo de un clase, pero en c++ es bueno entender los conceptos que se refieren a la memoria en detalle, si no ¿para que estudiar c++? hay otros lenguajes que le prestan mas atencion a las aplicaciones que al rendimiento. y estos detallitos que usted explica aclaran mucho. gracias pero queria decirle dos cosas y hacerle una ultima pregunta con respecto a las referencias. la primera es que habia oido mucho que da igual pasar una referencia o un puntero ya que una referncia es un puntero gestionado, y no es verdad , una referencia (ahora me queda claro) no tiene direcion de memoria propia, y un puntero si, de ahi todas las diferencias entre referencias y punteros. la segunda cosa es que tratando de asegurarme de que una referencia no tiene direccion de memoria propia sino que es la misma que la variable a la que se refiere me encontre con sus videos, y en la lista de reproduccion de Aprende a programar con C++ hay un video que se llama C++: Funciones, parametros por referencia y constantes y en ese video, del minuto 13. 37 al 15 39 se expone un grafico representando a modo de ejemplo como seria la memoria ram mientras se ejecuta ese programa con parametros por referencia y ahi me encontre confuso porque a la variabla n1 que es una referencia le asigna una direccion de memoria propia y dentro de esa direccion la direccion de otra (que por cierto en el video esta mal la direccion a la que se refiere , aunque si que esta corregida en los comentarios , lo que aumento un poco mi confusion) y ahora entiendo gracias a usted que eso vendria a ser un puntero y no una referencia. y con esto se puede decir que no solo entiendo el concepto sino tambien porque las referencias actuan como lo hacen y son tan utiles, mil gracias, no se como pagarte. mi ultima pregunta para no dejar cabos sueltos viene dada por lo de que una referencia una vez asignada a un dato ya no se puede asignar a otro: si una referencia se puede asignar a un solo dato , ¿porque en las funciones que tienen referencias se pueden llamar una y otra vez con diferentes datos? muchisimas gracias por todo.
4 жыл бұрын
@@andrewjackson508 me alegra haber colaborado en aclarar tus dudas 😊. Respecto al otro video que mencionabas, es verdad que está bastante confuso y he querido rehacerlo ya por algún tiempo, para mejorarlo. Y creo que tus preguntas son muy interesantes para incluir las respuestas también en ese video. Y, si bien es verdad que muchas veces los compiladores implementan a las referencias como punteros, esto es un detalle de cómo funciona cada compilador en particular y no modifica el concepto de referencia (creo que, al contrario, puede resultarnos confuso), entonces es algo que decidí no incluir en el video. Esto que preguntás sobre cómo puede llamarse repetidas veces usando distintos argumentos a una función que tiene parámetros por referencia, se explica por los registros que se crean con cada invocación (lo que se ve en el 13:20 de este video): cuando una función es invocada, se reserva un espacio de memoria stack para ella, conteniendo todas las variables que necesite (incluidos parámetros). Cuando la función retorna, ese espacio se libera y se "borran" las variables de la memoria. Entonces, cada vez que se la invoca, se crea un nuevo espacio ("registro") en memoria y vuelven a crearse sus variables. Así que, si tuviéramos un código como este: void funcion(int& n1) { n1 = 0; } int main() { int a = 100; int b = 25; funcion(a); funcion(b); } lo que sucede es que, con la invocación funcion(a) se crea un registro que contiene a n1 como alias de a. Al retornar, ese registro "desaparece" de la memoria y con la llamada funcion(b) se vuelve a crear nuevamente, ahora con n1 como alias de b. Entonces no es que la referencia haya cambiado, sino que se destruyó y se volvió a crear. Lo que no podemos hacer es crear una referencia, inicializarla para que sea "alias" de una variable, y luego querer que sea alias de otra. Tal vez este ejemplo sea útil para ver que eso sí es imposible de hacer: onlinegdb.com/S17yivBiL
@andrewjackson5084 жыл бұрын
@ perfecto, mil gracias
@sebastianlevano61102 жыл бұрын
Grande capo
@zoizoi88413 жыл бұрын
Pregunta: ¿Porqué en el 21:24 sale 4, si es int debería ser 2 bytes?
3 жыл бұрын
La cantidad de espacio que ocupa un int puede variar de acuerdo a la implementación del compilador usado y a la arquitectura. Lo más usual es que ocupe 4 bytes en arquitecturas de 32 bits, 2 en las de 16 y 8 en las de 64.
@zoizoi88413 жыл бұрын
@ muchas gracias, quedo muy claro y felicitaciones, muy buen contenido.
@electricidadpalomar70013 жыл бұрын
Hola, muy agradable la forma en la que explicas. Estoy intentando de llevar a cabo el primer ejemplo en Arduino tengo entendido que trabaja con C++: String saludo = "Hola"; String* p; p = &saludo; Serial.print(p); ¿podrías decirme por que me da este mensaje de error? cannot convert 'String' to 'String*' in assignment ...
3 жыл бұрын
¡Hola! Entiendo que estás intentando imprimir la dirección de memoria de la variable "saludo" que está guardada en el puntero "p", ¿verdad? Según la documentación de Serial.print() de Arduino (www.arduino.cc/reference/en/language/functions/communication/serial/print/) podrías probar convirtiendo explícitamente el puntero a entero e indicando que te lo muestre en base decimal: Serial.print((long) p, DEC); O también podrías decirle que lo muestra como hexadecimal: Serial.print((long) p, HEX); ¡Espero que te sea útil!
@electricidadpalomar70013 жыл бұрын
@ Pues no lo he podido lograr. Voy a reforzar mis conocimientos sobre tipos de datos y mas a delante retomare el tema Punteros. Muchas gracias !
3 жыл бұрын
@@electricidadpalomar7001 no soy experta en Arduino, así que no puedo guiarte demasiado. Pero Arduino no usa C++ puro sino que tiene sus propias bibliotecas. Por ejemplo, tiene su propia clase String. En este ejemplo que diste, si lo traducimos a C++ (sin bibliotecas de Arduino de por medio), el puntero se imprime correctamente: onlinegdb.com/BJId16IV_ Ese mensaje de error que te muestra suele aparecer cuando se intenta llamar a una función pasándole un argumento de un tipo diferente al que espera. Por eso es probable que el inconveniente esté en cómo Serial.print recibe sus argumentos o qué tipos de datos acepta. El mensaje de error está diciendo que esperaba un String donde le pasaste un puntero (un String*) y no puede hacer una conversión automática entre esos dos tipos.
@cesargabrielarrietacarrasc31692 жыл бұрын
Hola para poder usar punteros en vsc descargaste algun plugin adicional?? porque escribi los codigos tal cual el video y me tira este error identifier "P" is undefined cuando apunto el punteo a una variable osea cuando escribo P = &saludo;
@efectibit2 жыл бұрын
Los punteros son inherentes al lenguaje. Físicamente todo se maneja con punteros, pero no todos los lenguajes te dejan usarlo. Respecto a "P is undefined" posiblemente sea porque no has declarado P. Debes declararlo similar a: char * P;
@TheLurleenGamespro4 жыл бұрын
Tendras un video de como configurar el VSC? No encontre una forma facil e intuitiva de hacerlo
4 жыл бұрын
¡Hola! No tengo videos sobre cómo configurar Visual Studio Code para C++. Solo para descargar Qt Creator: kzbin.info/www/bejne/nX3QZ3WqfNaXpck y acá cómo crear un proyecto de consola en ese IDE: kzbin.info/www/bejne/d3TckK2Fh5Jmf7M
@carlosbustamante29772 жыл бұрын
@ ¿podras hacer uno? por favor!
@mozanapon7 ай бұрын
9:24 Barrasss
@albertosantiago66004 жыл бұрын
puedo seguir el curso con el lenguaje java
4 жыл бұрын
Si bien el concepto de punteros está presente en muchos lenguajes, Java no usa punteros de manera explícita. Pero sí usa referencias y este tema te va a servir para saber cómo se implementan los objetos en memoria.
@luisalbertozambranobonilla7094 жыл бұрын
yo tengo visual studio pero compila solo en python. Como puedo hacer para que compile c++
4 жыл бұрын
Vas a necesitar agregarle la extensión para C++ y tener un compilador de acuerdo a tu sistema operativo. De todas formas, el IDE que usé fue visual studio code por comodidad, pero puede utilizarse cualquiera, incluso alguno online como el que está en www.rextester.com o www.onlinegdb.com (con C++11 o superior).
@luisalbertozambranobonilla7094 жыл бұрын
@ gracias por la respuesta
@xabier16983 жыл бұрын
a=True while a==True: print("Gracias")
@danielreyesepitacio8406 Жыл бұрын
Ahora entiendo por qué prefieren python 😂😂😂
@montevideooculto29964 жыл бұрын
mm q vos encantadora, quiero que me digas cosas lindas al oido...
@darkfemto1264 жыл бұрын
1er comentario
@fabians1295 Жыл бұрын
Magnífica explicación !! Gracias 😄
@erikayarethb.6499 Жыл бұрын
¡Excelente video! Gran explicación, muchas gracias