Me parece un lujo que te expliquen los templates con ese nivel de detalle y que de paso lo ilustren con el ensamblador que compila la maquina. Me quedo flipando con el contenido y la calidad de cada clase y motivan en seguir aprendiendo mas.
Whaooo solo decir que el video es increíble, queda muy corto, que calidad y magia tiene usted profe, muchas gracias por su tiempo y conocimientos, saludos.
Estos vídeos son oro. Lástima que a veces no se oigan bien las preguntas de los alumnos, muchas veces bastante ilustrativas, aunque globalmente se pueden deducir por la respuesta. Yo creo que si hicieras un curso completo, bien estructurado, con un proyecto de principio a fin, tanto de C++ o incluso de crear un juego en Amstrad CPC, y publicarlo en alguna plataforma formativa (tipo Udemy) sería todo un éxito. Pero igualmente se agradece que un profesor tan experimentado y con un conocimiento tan extenso del tema nos regale estas perlas de sabiduría fruto de la destilación de miles de horas de pegarse con código y compiladores, cosa que solo otros programadores sabemos (aunque a tu lado sea un simple aprendiz). :)
No sé si me recordara por otros comentarios. Acabo de aprobar el primer semestre luego se reingresar a la universidad. Ya me reconcilie con las matemáticas y he aprendido un montón y sigo aprendiendo con ud. Muchas gracias profesor.
Claro que te recuerdo, Lu. Me alegro muchísimo de leer esto y sobre todo de que lo digas con ilusión. Un placer haber puesto un granito de arena y que eso te haya ayudado a disfrutar del aprendizaje y mejorar. Mucho ánimo y a seguir disfrutando y mejorando siempre :)
Pregunta: ¿Que es "Manglear" o "demanglear"? y ¿Cúal es su nombre en inglés con el que puedo buscar información al respecto?. Muchas gracias muy buen vídeo con un nivel de profundidad atrós, ojala las Universidades en México (al menos en la que yo estudié, de las otras desconozco) y puedan ajustar sus planes de estudio para enseñar las materias de programación de una forma más seria y profunda.
Muchas gracias por el aprecio, Carlos. Me alegro de que mis clases te sean útiles. Mangling es un término en ingles, no es castellano: "manglear " y "demanglear" serían la castellanización. Y se refiere al proceso para generar nombres únicos de etiqueta en ensamblador para los nombres de función sobrecargadas, que se llaman igual, pero tienen distintos parámetros. A nivel de ensamblador, no pueden llamarse igual, las etiquetas tienen que ser distintas. Por eso el compilador, genera nombres de etiqueta distintos para cada una de esas funciones, y esos nombres llevan codificado en el nombre los parámetros y tipos que la función recibe, para poder hacer distintas las etiquetas. Tienes más explicaciones de esto en mi canal. Lo puedes ver buscando mangling. Un ejemplo: th-cam.com/video/7YBzHJJYpZo/w-d-xo.html.
Hacer este tipo de cosas es una buena idea?, quiero decir, no es comportamiento no definido? ```c++ template class ComponentStorage { std::tuple < std::vector < CompTypes > ... > m_components_tuple; } ```
Comportamiento no definido no es. Está claramente definido lo que eso va a ser. El hecho de que sea una template no lo cambia respecto a que no lo fuera. La template generará código, pero el código que generará será lo mismo que tú podrías haber hecho a mano. Y si tú puedes crear una tupla de vectors a mano, y eso es algo perfectamente definido, una template también puede. No hay diferencia en que lo hagas a mano o que lo haga un mecanismo de generación automático como las templates. El resultado es el mismo. Si tienes dudas sobre cómo puede funcionar una tupla de vectors, deberías estudiar como funcionan las tuplas y cómo funcionan los vectors para entenderlos al detalle.
Me parece un lujo que te expliquen los templates con ese nivel de detalle y que de paso lo ilustren con el ensamblador que compila la maquina. Me quedo flipando con el contenido y la calidad de cada clase y motivan en seguir aprendiendo mas.
Increible la calidad
Primero aprendo c++ bien y luego volveré a este Canal para debatir 😁
Llevo 2 días esperando este video
Whaooo solo decir que el video es increíble, queda muy corto, que calidad y magia tiene usted profe, muchas gracias por su tiempo y conocimientos, saludos.
El mejor profe de c++ , mi rubro es escribir malware en c++ y asm pero estos videos ayudan muchísimo a entender muchas cosas
Estos vídeos son oro. Lástima que a veces no se oigan bien las preguntas de los alumnos, muchas veces bastante ilustrativas, aunque globalmente se pueden deducir por la respuesta. Yo creo que si hicieras un curso completo, bien estructurado, con un proyecto de principio a fin, tanto de C++ o incluso de crear un juego en Amstrad CPC, y publicarlo en alguna plataforma formativa (tipo Udemy) sería todo un éxito. Pero igualmente se agradece que un profesor tan experimentado y con un conocimiento tan extenso del tema nos regale estas perlas de sabiduría fruto de la destilación de miles de horas de pegarse con código y compiladores, cosa que solo otros programadores sabemos (aunque a tu lado sea un simple aprendiz). :)
No sé si me recordara por otros comentarios. Acabo de aprobar el primer semestre luego se reingresar a la universidad. Ya me reconcilie con las matemáticas y he aprendido un montón y sigo aprendiendo con ud. Muchas gracias profesor.
Claro que te recuerdo, Lu. Me alegro muchísimo de leer esto y sobre todo de que lo digas con ilusión. Un placer haber puesto un granito de arena y que eso te haya ayudado a disfrutar del aprendizaje y mejorar. Mucho ánimo y a seguir disfrutando y mejorando siempre :)
joder me lo vi completo , increíbles videos.
Ilustrativísimo, como siempre, profe.
Que increíble video
Pregunta: ¿Que es "Manglear" o "demanglear"? y ¿Cúal es su nombre en inglés con el que puedo buscar información al respecto?. Muchas gracias muy buen vídeo con un nivel de profundidad atrós, ojala las Universidades en México (al menos en la que yo estudié, de las otras desconozco) y puedan ajustar sus planes de estudio para enseñar las materias de programación de una forma más seria y profunda.
Muchas gracias por el aprecio, Carlos. Me alegro de que mis clases te sean útiles.
Mangling es un término en ingles, no es castellano: "manglear " y "demanglear" serían la castellanización. Y se refiere al proceso para generar nombres únicos de etiqueta en ensamblador para los nombres de función sobrecargadas, que se llaman igual, pero tienen distintos parámetros. A nivel de ensamblador, no pueden llamarse igual, las etiquetas tienen que ser distintas. Por eso el compilador, genera nombres de etiqueta distintos para cada una de esas funciones, y esos nombres llevan codificado en el nombre los parámetros y tipos que la función recibe, para poder hacer distintas las etiquetas.
Tienes más explicaciones de esto en mi canal. Lo puedes ver buscando mangling. Un ejemplo: th-cam.com/video/7YBzHJJYpZo/w-d-xo.html.
Los templates es un tema que nunca dominé. A ver si esta vez me queda claro
Hacer este tipo de cosas es una buena idea?, quiero decir, no es comportamiento no definido?
```c++
template
class ComponentStorage
{
std::tuple < std::vector < CompTypes > ... > m_components_tuple;
}
```
Comportamiento no definido no es. Está claramente definido lo que eso va a ser. El hecho de que sea una template no lo cambia respecto a que no lo fuera. La template generará código, pero el código que generará será lo mismo que tú podrías haber hecho a mano. Y si tú puedes crear una tupla de vectors a mano, y eso es algo perfectamente definido, una template también puede. No hay diferencia en que lo hagas a mano o que lo haga un mecanismo de generación automático como las templates. El resultado es el mismo.
Si tienes dudas sobre cómo puede funcionar una tupla de vectors, deberías estudiar como funcionan las tuplas y cómo funcionan los vectors para entenderlos al detalle.
Que increíble video