68. Programación en C++ || Funciones || Paso de parámetros por Referencia

  Рет қаралды 258,651

ProgramacionATS

ProgramacionATS

Күн бұрын

Пікірлер: 113
6 жыл бұрын
💻 Apúntate al curso completo de Programación en C++: LINK: goo.gl/7kML7Z
@Pame33M
@Pame33M 5 жыл бұрын
Me acabo de enterar de tu partida, gracias por compartir tus conocimientos, de una manera tan clara y fácil. Descansa en paz
@CarlgamingxD
@CarlgamingxD 5 жыл бұрын
Como se llamaba este chico?
@juanaguilar829
@juanaguilar829 4 жыл бұрын
@@CarlgamingxD Alejandro Taboada
@ggdeghh4711
@ggdeghh4711 4 жыл бұрын
😭😭😭😭
@claudiagiselalima9246
@claudiagiselalima9246 4 жыл бұрын
😱😱😱😱 murio?
@ggdeghh4711
@ggdeghh4711 4 жыл бұрын
@@claudiagiselalima9246 sii 😭😭😭😭😭😭😭😭😭😭😭😭😭
@alexispatriciomoralesherna4826
@alexispatriciomoralesherna4826 4 жыл бұрын
Me acabo de enterar del fallecimiento del gran maestro de la programación... Gracias a el retome el gusto por programar.. sigo aprendiendo gracias al legado que dejó con sus videos ... Ya no los veo igual Hace un momento leí y vi lo que sucedió con el y ahora que intento ver el vídeo y escucharlo me pone tan triste escucharlo y saber que ya no está aquí ... Tuve que ponerle pausa al vídeo por qué es difícil intentar no sentirte triste por la gran perdida, si yo me siento así ... No me imagino como se sentirán sus familiares... En verdad un lastima Jamás olvidaremos sus enseñanzas y está frace que lo distingue de todos ... "Si puedes imaginarlo, puedes programarlo" Siempre te recordaremos
@tere5834
@tere5834 2 жыл бұрын
😭😭😭😭😭😭😭😭😭😭😭😭😭😭
@puma2407
@puma2407 4 жыл бұрын
La explicación a modo didáctico está muy bien ya que es más o menos lo que ocurre al hacer pasajes por referencia, pero hay un error de concepto: Precisamente, la forma en la que explica que funciona la función (valga la redundancia) es mediante el uso de punteros, si bien lo que usa no son punteros sino referencias. Las REFERENCIAS NO SON PUNTEROS, es decir NO contienen direcciones de memoria, sino que más bien son como un pseudónimo del dato al cual queremos acceder dentro de la función. Los punteros, en cambio, sí contienen la dirección de memoria del dato. Es decir: int x = 10; int * px = &x; //declaro un puntero px. px guarda la dirección de x int &rx = x; //rx es una referencia a x, o sea, si "modifico" a rx, modifico directamente a x, PERO rx NO GUARDA LA DIRECCIÓN DE x. Ahora, en esencia, si quiero implementar una función que intercambie los valores de los parámetros que recibe, funciona tanto pasándole los parámetros por puntero como por referencia. Ej: void swap( int *a, int *b){ //por PUNTEROS (así se debería implementar en C) int aux = a; *a = *b; *b = aux; } void swap( int &a, int &b){ // por REFERENCIA int aux = a; a = b; b = aux; } Noten que, si paso los datos como punteros, lo que estoy pasando son las direcciones donde se hayan guardado los valores de a y b, y necesito acceder al dato contenido en las direcciones usando *. En cambio, si paso a y b por referencia, lo que estoy pasando es un alias/pseudónimo de a y b, y como no son direcciones de memoria sino "los datos en sí" no necesito desreferenciar ni nada, simplemente hago a = valor nuevo, b = valor nuevo, etc. Es decir, la referencia funciona de manera muy similar al puntero, y hasta se explicitan usando el '&' (lo cual, en este caso, NO significa "la dirección de...", sino "referencia a..."), lo que suele dar lugar a confusiones en algunas líneas de código donde se acceda a direcciones, que requieren el mismo operador. Si internamente la referencia como dato está implementada mediante punteros no nos importa realmente, pero a modo práctico, si bien son muy similares puntero y referencia, NO SON LO MISMO. PD: las referencias NO pueden cambiar de dato al cual referenciar, en cambio los punteros SÍ pueden variar las direcciones que guardan (O sea, las referencias NO aceptan NULL como valor, por mencionar un caso común de punteros).
@tere5834
@tere5834 2 жыл бұрын
😀😁
@arminschneider9132
@arminschneider9132 2 жыл бұрын
Excelente aporte
@julianel_
@julianel_ Жыл бұрын
eres un grande maquina, tremenda explicacion
@starkh5476
@starkh5476 5 жыл бұрын
Una vez más reafirmando mis conocimientos y salvando el día, descanse en paz Miguel Taboada
@sagarcmay
@sagarcmay 2 жыл бұрын
@Cascabelito Go Alejandro Miguel
@cristoballopez4460
@cristoballopez4460 7 жыл бұрын
Mejor que mis profesores de progra, tienes mucho talento gracias. :')
7 жыл бұрын
Gracias a ti por ver :) Un saludo
@paulo0651
@paulo0651 2 жыл бұрын
@ te extraño
@ricardomiguelosorio6726
@ricardomiguelosorio6726 2 жыл бұрын
me fui a leer esto de un libro de texto sobre esto y recuerdo no haber entendido, gracias a este chico estoy aprendiendo en menos tiempo de lo que tardaría con libros de texto u otros youtubers
@maicoldf4939
@maicoldf4939 8 жыл бұрын
Explicas muy bien tus vídeos , y tienes un curso muy organizado, felicitaciones, me ha servido de mucho!
@maicoldf4939
@maicoldf4939 8 жыл бұрын
Like ! :v
8 жыл бұрын
Muchas gracias Maicoldf :) Un saludo desde Perú
@maicoldf4939
@maicoldf4939 8 жыл бұрын
por nada!, Si hubiera conocido esta curso a principio de semestre, no estaría perdiendo programación como ahora XD.
@aaronmartinez7769
@aaronmartinez7769 5 жыл бұрын
Entiendo antes lo que hacíamos era trabajar con los valores de las variables ya dadas pero no se podían modificar a la variable. Excelente
@seba23571
@seba23571 6 жыл бұрын
excelente profesionalidad rápido entretenido y fácil de entender algo que es difícil .
@alejacobo2257
@alejacobo2257 4 жыл бұрын
NOTA IMPORTANTE !!!!!!! NO SE MANEJA COMO UNA DIRECCION Una referencia es un nombre alternativo (un alias, un sinónimo) para un objeto. Una referencia no es una copia de la variable referenciada, sino que es la misma variable con un nombre diferente. Utilizando referencias, las funciones trabajan con la misma variable utilizada en la llamada. Si se modifican los valores en la función, realmente se están modificando los valores de la variable original.
@migueleduardofernandezsevi3538
@migueleduardofernandezsevi3538 3 жыл бұрын
Gracias por todos tus enseñanzas. Mereciste más. Que pena tu partida
@str0y
@str0y 2 жыл бұрын
gracias por el curso, espero alguno de tus familiares este monetizando esto. otra forma de ínter cambiar las variables es. num1^=num2; num2^=num1; num1^=num2;
@israel1520ful
@israel1520ful 6 жыл бұрын
Alejandro es mi pastor!!! :")
@kionmahuermicio9860
@kionmahuermicio9860 4 жыл бұрын
Nos volvemos a encontrar... Viejo amigo :') un abrazo hasta el cielo...
@albertoloji69
@albertoloji69 7 жыл бұрын
Gracias amigo contigo he aprendido a programar
@eliaschavez364
@eliaschavez364 3 жыл бұрын
pueden usar la analogía de una taza de café, la variable será taza y está vacía, hay una función que llena la taza, al usar la función llena la taza pero solo dentro de la función, fuera la taza seguirá vacía, si otro segmento del programa usa la variable original taza, la usará vacía. ahora con el parámetro de referencia al llenar la taza con la función, la taza dentro y fuera de la función se va a llenar, así que si otro segmento del programa usa la variable taza ahora al usarla estará llena.
@FabricioVargas91
@FabricioVargas91 8 жыл бұрын
Excelente! Deberías ser el tutor de mi Universidad jaja
@ferguswalshe7812
@ferguswalshe7812 6 жыл бұрын
lo haces muy bien gracias por tu tiempo
@nahelvaldez3062
@nahelvaldez3062 6 жыл бұрын
Muy buen video! justo lo que buscaba.
@fernandoalexisvasquez9107
@fernandoalexisvasquez9107 5 жыл бұрын
Excelente explicación , muchas gracias.
@LUISLOPEZ-gu4ob
@LUISLOPEZ-gu4ob 4 жыл бұрын
ya murio :(
@fernandoalexisvasquez9107
@fernandoalexisvasquez9107 4 жыл бұрын
@@LUISLOPEZ-gu4ob Que pena realmente, un joven muy valioso contribuyendo al conocimiento. Que en paz descanse. Gracias por hacérmelo saber :'(
@emmanu9858
@emmanu9858 4 жыл бұрын
me gusta tu manera de explicar las cosas tan simples,emmanuel ha,cecyt 14,4IV5
@AldoUribeFernandez
@AldoUribeFernandez 4 жыл бұрын
Tremendo genio, un abrazo allá donde te encuentres :'(
@madireyna5367
@madireyna5367 6 жыл бұрын
explicas muy bien, ademas que guapo jeje gracias por tus videos
@buchangas
@buchangas 3 жыл бұрын
siempre estaras con nosotros
@MsLuvian
@MsLuvian 6 жыл бұрын
WOOW que buena explucación y vídeo
@migueleduardofernandezsevi3538
@migueleduardofernandezsevi3538 3 жыл бұрын
Excelente. Gracias por tanta ayuda
@Extrem-l4l
@Extrem-l4l 2 ай бұрын
Grande me has ayudado mucho
@jessicaalvarez16
@jessicaalvarez16 4 жыл бұрын
Buena explicación y aparte ejercicio Cecyt 14,4IV6, Jessica Álvarez
@carolinagiron9929
@carolinagiron9929 2 жыл бұрын
Por fin lo entiendo!! Claro como el agua
@junner13
@junner13 4 жыл бұрын
Si alguien se preguntaba por que se pasa por referencia & y por puntero* en la funcion agregarnodo(), pues estuve investigando y testeando y llegue a la conclusion de que cuando pasamos por parametro un puntero, este parametro solo toma el valor del puntero **tope osea, que solo toma en cuenta el NULL y no la direccion del valor que le pasamos, el parametro que enviamos tiene su propia direccion en la ram y la variable *tope=NULL tiene otra direccion, entonces el parametro de la funcion agregarNodo(Nodo *&) solo estara apuntando al valor NULL de *tope pero con una direccion de memoria diferente, entonces debes usar &** juntas para pedir en conjunto la direccion mas el contenido que es NULL y asi poder amarrar los nodos sin que se pierda la direccion del nodo anterior.
@rubenquintanilla3810
@rubenquintanilla3810 2 жыл бұрын
Definitivamente voy a copiar este comentario y releerlo cuando termine de estudiar arboles y grafos. Abusando de su cordialidad, ¿podría replantearme que intentaba explicar Alejandro? Podria haber cambiado los valores de ambas variables num1, y num2 dentro de la misma funcion. Me imagino que la diferencia fue que uso los argumentos de la funcion para cambiar el valor de las variables externas a esta funcion(en python cuando se pasan argumentos a una funcion, estos son "copias" locales que no impactan fuera de la funcion a no ser que se llame explicitamente a las variables externas). Me cuesta encontrar la diferencia, o el ejemplo no fue el mas apropiado.
@jorgeromero4254
@jorgeromero4254 6 жыл бұрын
¿Solo se pueden con datos numéricos?
@alejandroalonso958
@alejandroalonso958 5 жыл бұрын
OMG gracias entendí perfecto!!!!!
@martinds93
@martinds93 5 жыл бұрын
OOOooseeaaaa, a ver si entendi. Con esto, optimizas el uso de memoria no? Dado que usas la misma direccion de memoria y no reservas otro....
@nievesascenciomaurodaniel8702
@nievesascenciomaurodaniel8702 4 жыл бұрын
Ay nose
@zirohz6346
@zirohz6346 2 жыл бұрын
//PARAMETROS POR REFERENCIA #include using namespace std; //Prototipos de Funciones void valNuevo(int &, int &); int main(){ int num1,num2; coutnum2; valNuevo(num1,num2); cout
@felipe100hq
@felipe100hq 5 жыл бұрын
AYUDAAA!! lo que pasa es que he visto otros tutoriales y ademas mi profesor conidicen en poner el operador de indircción en donde se esta contruyendo la funcion, en el ejemplo del video sería algo así. void valNumero(int *xnum, int *ynum){} Mi duda es que diferencia hay? si ambos funcionan.
@markmpeon
@markmpeon 7 жыл бұрын
EX CE LEN TE !!!!! muy bien explicado :)
@paulalexandersierracordova7682
@paulalexandersierracordova7682 5 жыл бұрын
Sigue así. Excelente!
@jonrodriguez5174
@jonrodriguez5174 6 жыл бұрын
Lo he probado y no funciona. Me muestra los valores del principio, es decir, no imprime los valores 89 y 45 a no ser que los sitúe al comienzo de la función. En ese caso no importaría el tipo de parámetro puesto que con unos simples parámetros por valor conseguiríamos los mismos resultados.
@renzololi8145
@renzololi8145 6 жыл бұрын
disculpa, cual es la diferencia entre "Paso de parámetros por Referencia" y "Transmisión de Direcciones"?
@floresmamaniivan1627
@floresmamaniivan1627 3 жыл бұрын
es lo mismo
@hatarymomoz399
@hatarymomoz399 2 жыл бұрын
Xd
@promipicode
@promipicode 4 жыл бұрын
Seria como enves de hacer por referencia declarar global la suma y producto pero aca la declaramos en int main y entonces con el &obtenemos donde se ubica ("En la memoria ram que digamos") y podemos cambiar o modificar los valores. lo que entendia para el que no se lo quedo claro :v
@gerardocardenas8805
@gerardocardenas8805 6 жыл бұрын
hola, tengo esta duda y como explicaria esto pero mas detallado, ejemplo: (Nodo *&lista) ¿?¿?¿?
@arsrivaszaredan8217
@arsrivaszaredan8217 5 жыл бұрын
no pos lo haces ver tan easy gracias
@maximilianobollinilandajo7744
@maximilianobollinilandajo7744 4 жыл бұрын
no entiendo en qué momento se relaciona num1 con xnum y num2 con ynum.
@sergiosantana8596
@sergiosantana8596 4 жыл бұрын
el num1 y num2 son las variables, en el parametro de la función puedes poner lo que sea, ejemplo: hola o XD, todo esto mientras no pongas mas parametros de los que necesitas. Sabiendo esto la unica relación que tienen es el orden; si tu pones valNuevo(num1, num2) cuando llamas a la función, lo que pongas en los parametros seguira el orden que usaste para llamar a la función valNuevo(int& xnum(corresponderia a num 1), int& ynum (corresponderia a num2), pero te digo puedes poner cualquier cosa, a mi se me hace mas facil poner simplemente valNuevo(int& x, int& y). Espero haberte ayudado y no haberte confundido mas.
@javiercostabellaalcaraz2508
@javiercostabellaalcaraz2508 3 жыл бұрын
@@sergiosantana8596 gracias sergio
@Kain20XX
@Kain20XX Жыл бұрын
osea, q con esto nos ahorramos la memoria q utilizaria la funcion para "copiar" el valor de las variables?
@yahirsamano6854
@yahirsamano6854 Жыл бұрын
Sí, al utilizar parámetros por referencia en C++, puedes evitar la necesidad de realizar una copia de los valores de las variables al llamar a la función. Esto puede tener beneficios en términos de eficiencia de memoria, especialmente cuando trabajas con grandes estructuras de datos o tipos de datos que pueden ser costosos de copiar.
@betsabeboice4106
@betsabeboice4106 6 жыл бұрын
Hola profe :) Quiero saber si en la misma función puedo pedir una dato char y un float, lo he intentado pero hay algo que me falla, podría ayudarme?
@kevingonzalez-ld6me
@kevingonzalez-ld6me 4 жыл бұрын
Si es void si, se puede pero si no lo es no. Porque solo retornara un valor entero en caso de ser int. En cambio en void lo hice con una tarea de Alejandro ejemplo void muestra(float x, int y)
@martinezmenaximena4413
@martinezmenaximena4413 4 жыл бұрын
Es fácil de aprender con estos ejercicios Me agradan Ximena M 4IV5 cecyt 14
@rodriguezsabinonluisangel4342
@rodriguezsabinonluisangel4342 4 жыл бұрын
Gracias por tus videos me ayudan mucho soy Luis R del cecyt 14 4IV5
@jasonllacoarimay5737
@jasonllacoarimay5737 5 жыл бұрын
Buenas, como puedo utiliza un iterador doble es para hallar los 30 primeros numeros primos.
@canalvc1
@canalvc1 4 жыл бұрын
el chico no te va a contestar porque murio
@jasonllacoarimay5737
@jasonllacoarimay5737 4 жыл бұрын
@@canalvc1 Lo sé, preguntaba a los que ven los videos xd
@alejandrocr9293
@alejandrocr9293 7 жыл бұрын
// Un ejemplo de como se comportan ambos pasos de variables :) //SOLO NÚMEROS ENTEROS #include #include using namespace std; // prototype void value(int); void reference(int&); // main int main(int argc, char *argv[]) { // value int value_number; cout > value_number; value(value_number); cout
@unknwon9039
@unknwon9039 5 жыл бұрын
QUE TE HACES AL PIOLA ESCRIBIENDO EN INGLES, BOBOOOO
@sepulvedachavezivanemmanue5997
@sepulvedachavezivanemmanue5997 4 жыл бұрын
Este video de esta plataforma me ayudo a retomar temas que no sabía y mejorar un poco en mi programación respecto a este programa aplicarlo en mis actividades CECyT_14_4IV5_Ivan_Emmanuel_S
@matonolo
@matonolo 8 жыл бұрын
Cual seria la diferencia si pusiéramos esto en tu funcion? void valNuevo(int *xnum, int *ynum) Espero tu respuesta, Graciasss!
@luislazoquezada8719
@luislazoquezada8719 8 жыл бұрын
int *xnum es un puntero. Apunta a una dirección de memoria. Si igualas xnum a cualquier otra variable entera y la imprimes.No va a imprimir el numero guardado en la variable si no la dirección de memoria donde está la variable, que es un valor hexadecimal.
@darwincardenas4427
@darwincardenas4427 8 жыл бұрын
pero esta bien no hay problema si lo hace la funcion con puntero , solo designa el "&" en el int , asi como suelo hacerlo : #include using namespace std; void valnumero(int *,int *); int main() { int n1,n2; cout
@digimikeh
@digimikeh 6 жыл бұрын
también puedes usar eso, solo que el argumento debe llevar el ampersand &
@TheSOM9000
@TheSOM9000 3 жыл бұрын
en una de las variables me pone el número 123 en lugar del que escribí
@andrelopez5848
@andrelopez5848 6 жыл бұрын
Eres la verga el mejor profesor éxito
@floresmamaniivan1627
@floresmamaniivan1627 3 жыл бұрын
no olviden que los nuevos numeros de --- xnum=89 e ynum=45---- deben ir despues de retornar los primeros valores que esta en la funcion void, caso contrario les saldra el mismo numero sin ninguna modificacion. QEPD Alejandro :'v
@vianeyestrada6622
@vianeyestrada6622 4 жыл бұрын
Soy Estrada Delgado Valery Vianey del CECyT14 Conforme avanzan los videos va aumentando la complejidad sin embargo la estructura considero que sigue siendo la misma solo se le agregan un par de cosas
@octavioquinteroflores8078
@octavioquinteroflores8078 4 жыл бұрын
Te la rifaste crack
@darwincardenas4427
@darwincardenas4427 8 жыл бұрын
normalmente lo hago asi : #include using namespace std; void valnumero(int *,int *); int main() { int n1,n2; cout
@digimikeh
@digimikeh 6 жыл бұрын
es lo mismo hecho de dos formas diferentes.
@eliasmartinezmorgado
@eliasmartinezmorgado 7 жыл бұрын
Osea que aqui en c++ ya no se usan los punteros? :O
@digimikeh
@digimikeh 6 жыл бұрын
se usan bastante, y cuando recibes la referencia (memoria) del valor estas usando de alguna forma un puntero.. solo que en este caso no lo has declarado ni definido aún..
@Anonimo-qo1tl
@Anonimo-qo1tl 4 жыл бұрын
Descansa en paz
@mendozamunozarelifernanda6025
@mendozamunozarelifernanda6025 4 жыл бұрын
Este tema esta muy bueno, Cecyt 14 Luis Enrique Erro, Areli Mendoza, 4iv5
@zamirbebe834
@zamirbebe834 3 жыл бұрын
¿Por qué ponen esas cosas al final?
@Joserodriguez-zi9vm
@Joserodriguez-zi9vm 8 жыл бұрын
Muy bien explicado la verdad yo no entendia bien las funciones pero ahora hice un proyecto con muchas funciones pueden descargarlo desde este link uploadocean.com/h3617dbz2794
@XBRAYANXBM
@XBRAYANXBM 3 жыл бұрын
que onda jaja, se suponia que iba a imprimir la direccion de memoria si el video era de paso por referencia, pero uso los dos xD.
@diegomonterguzman9059
@diegomonterguzman9059 3 жыл бұрын
ya esta muerto :(
@paolaosoroi4285
@paolaosoroi4285 7 жыл бұрын
exelente papi
@pablocarbonell1153
@pablocarbonell1153 4 жыл бұрын
exelente!
@brendahernandez1288
@brendahernandez1288 4 жыл бұрын
CECyT #14. 4iv6. Brenda Hernández. Me gusta este tema.
@JaveritoPe
@JaveritoPe 2 жыл бұрын
Al final no explicó por qué son buenos. 🤧
@oiergil_16
@oiergil_16 17 күн бұрын
grandeeee bro
@Ferhakai
@Ferhakai 2 жыл бұрын
es y griega, no ye
@aldebaranmoralesosorio6171
@aldebaranmoralesosorio6171 4 жыл бұрын
Aldebaran M.4IV6.CECYT14.ESTE VIDEO ME ENSEYO QUE ES UN PARAMETRO DE REFERNCIA
@ravtepdav
@ravtepdav 5 жыл бұрын
y cual se la utilidad de todo eso?????
@mendozaresendizcarlosdavid5186
@mendozaresendizcarlosdavid5186 4 жыл бұрын
Buen video, cecyt 14,4IV6, Carlos Mendoza
@Aulacode
@Aulacode 2 жыл бұрын
mmm si entendí jajaja
@rodrigosm8720
@rodrigosm8720 5 жыл бұрын
GAAAA
@garciasaldanabrayanadolfo9507
@garciasaldanabrayanadolfo9507 2 жыл бұрын
#include #include #include using namespace std; void Valnuevo(int&,int&); int main(){ int num1,num2; coutnum1>>num2; Valnuevo(num1,num2); cout
69. Programación en C++ || Funciones || Devolver valores múltiples
6:27
Programación ATS
Рет қаралды 181 М.
黑天使只对C罗有感觉#short #angel #clown
00:39
Super Beauty team
Рет қаралды 36 МЛН
My scorpion was taken away from me 😢
00:55
TyphoonFast 5
Рет қаралды 2,7 МЛН
How Strong Is Tape?
00:24
Stokes Twins
Рет қаралды 96 МЛН
Pasajes por VALOR y REFERENCIA | Lógica de Programación⭐
16:02
Paso de parámetros por referencia en C
8:44
Leopoldo Morales
Рет қаралды 11 М.
72. Programación en C++ || Funciones || Paso de parámetros de tipo vector
8:01
63. Programación en C++ || Funciones || Definición de Funciones
10:41
Programación ATS
Рет қаралды 724 М.
Funciones en Lenguaje C   Parametros por referencia y valor
25:09
Gabriel Chaldu
Рет қаралды 35 М.
58. Programación en C++ || Estructuras || Estructuras Anidadas en C++
11:59
Всё об указателях в C++ за 20 минут
20:00