elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16
141  Programación / Programación C/C++ / Re: Libros para aprender SDL en español en: 16 Noviembre 2013, 01:34 am
Muchas gracias! Los bajaré y les echaré un vistazo en cuanto pueda, ya que llevo tiempo pensando en desarrollar un pequeño juego en C++ usando SDL o SFML. ¿Alguien que los haya probado, sabría decirme cual sería mejor para iniciarse en temas de multimedia?

Edito: Me he estado mirando el índice del primero y parece ser un libro muy completo sobre el uso del SDL. Muy buen aporte, gracias!
142  Programación / Programación C/C++ / Re: Acceder de forma individual a cada digito de un número entero(sin sprintf) en: 15 Noviembre 2013, 23:05 pm
Para obtener el último dígito de un número entero (N) puedes hacer:

Código:
int N;
//Obtenemos el valor de N
int numero = N%10;
N = N/10;

Lo que estás haciendo aquí es obtener el último dígito de N aplicándole módulo 10. Después, acortamos ese número una cifra por la derecha, eliminando el número que ya hemos separado. Si este fragmento de código se coloca dentro de un bucle, consigues obtener todos los dígitos de un número N.
143  Programación / Programación General / Re: POO - ¿Diferencia entre usar una constructora-copiadora a Objeto = Objeto? en: 15 Noviembre 2013, 22:54 pm
Pasar un objeto por valor es lo que normalmente hacemos. En el caso de Java, los parámetros de tipos básicos se pasan por valor y los objetos por referencia. Esto significa que a todo valor que reciba una función, le hará una copia y trabajará con ella.

Cuando se dice que se pasa por referencia, lo que estamos haciendo es accediendo a la dirección de memoria del objeto pero mediante una copia también. Esta copia es la que permite el acceso a la dirección del objeto. De esta manera, si se modifica la copia del objeto, se modificará también el objeto original.

Más información: Pasar por valor y por referencia en una función.

Yo tenia entendido que cuando pasabas por referencia no se hacía ninguna copia, y que precisamente por eso los objetos y estructuras de datos de tamaño considerable se enviaban por referencia, para evitar la copia y el consumo de memoria. Y es más, en el enlace que me has pasado no se habla de copias cuando pasas por referencia, si no que más bien parece que cuando trabajas con una variable referenciada es como si trabajases con un puntero, provocando que cualquier modificación se haga en la variable real y no la referenciada. ¿Estoy en lo cierto?

Pero mi duda ahora mismo es como ha relacionado "El Benjo" este concepto con el que explico en el post (Objeto = Objeto) para llegar a esa conclusión.

Muchas gracias por dedicar unos minutos a este post, de verdad. Uno aprende mucho con gente como vosotros.

EDITO:

He encontrado algo interesante en http://c.conclase.net/curso/index.php?cap=029, en el apartado "Asignación de objetos", donde dice:

Citar
La línea "par2 = par1;" copia los valores de los datos miembros de par1 en par2.
En realidad, igual que pasa con los constructores, el compilador crea un operador de asignación por defecto, que copia los valores de todos los datos miembro de un objeto al otro. Veremos más adelante que podemos redefinir ese operador para nuestras clases, si lo consideramos necesario.

Lo que nos está diciendo es que el compilador se las arregla para copiar todos los datos de un objeto al otro, ¿cierto? Entonces, que un método sea más rápido que el otro dependerá de la calidad de tu código y la del compilador, ¿me equivoco?
144  Programación / Programación General / Re: Libros que todo programador deberia haber leido? en: 15 Noviembre 2013, 22:38 pm
Por desgracia, libros sobre lenguajes de programación en español hay muy pocos. Mi recomendación es que aprendas inglés, ya que te servirá en cualquier ámbito, tanto profesional como para tu día a día.

Podrías buscar algún E-Zine de algún portal español o preguntarle a google, que no creo que sea tampoco tan difícil encontrar uno.

Saludos!
145  Programación / Programación General / Re: POO - ¿Diferencia entre usar una constructora-copiadora a Objeto = Objeto? en: 15 Noviembre 2013, 14:24 pm
Muchas gracias por la ayuda, pero ahora tengo otra duda. ¿Que relación hay entre poder pasar un objeto por referencia y/o valor a una función, y el hecho de poder copiar un objeto mediante Objeto = Objeto? Es decir,

NOTA: Creo que esto puede aclarar todo. ¿Te has preguntado por qué los objetos se pasan a una función por referencia y no por valor?

cual es el motivo/relación de esta pregunta con el tema del post? Ya que según he visto, has llegado a las conclusiones del último mensaje gracias a la respuesta a esa pregunta.
146  Programación / Programación General / Re: Merece la pena hacer una carrera de programacion? en: 15 Noviembre 2013, 00:20 am
Yo ahora mismo estoy estudiando Ingenieria Informatica en españa (4 años).

Yo lo que te recomiendo es que escojas el estudio que escojas, estudies más de lo que te dan en clase. Los profesores te enseñarán las bases de la programación, pero eres tu quien ha de profundizar en ellas y entender a la perfeccion todas las metodologias. A la larga, la diferencia entre un alumno que profundiza y aprende por su cuenta a uno que se conforma con lo que le enseñan en clase es muchisima.

Por cierto, estudiar un solo lenguaje no me parece lo mejor que podria hacer alguien que quiere dedicarse a programar. Para empezar y coger las bases me parece perfecto, pero luego hay que "explorar horizontes", porque no todos los lenguajes de programación sirven para lo mismo.
Yo, por ejemplo, de momento estoy estudiando en la universidad C++, pero ya he dedicado muchas horas a C#, y he desarrollado pequeñas aplicaciones en Python y VB, además de HTML, javascript y PHP para desarrollo de páginas web, y tengo pensado empezar a estudiar Java dentro de poco, ya que cada vez que estudio un lenguaje de programación nuevo, aprendo nuevos métodos y maneras de programar que cualquier dia podrán serme útiles.

Saludos, y a darle duro al estudio!
147  Programación / Programación General / Re: 10 Tipos de Programadores que Encontrarás en el Ámbito en: 14 Noviembre 2013, 14:29 pm

No he podido evitar reírme al leer este post. Y más al leer el tópico de "Vince Neil Programmer", que me recuerda a mi profesor de programación de la universidad en cuanto a la descripción física. Podríamos decir que este hombre del gif es una copia de mi profesor. Pero mi profesor no solo se puede clasificar como un Vince Neil, sino que también lo puedes clasificar como "The Theorectician programmer". Es un hombre que hace aburridas las clases, se pierde en medio de su propia explicación y, además, cuando le haces una consulta, tu código siempre está mal, y la función recursiva siempre falta, aunque tu aplicación sea algo tan sencillo como leer un vector.
148  Programación / Programación General / Re: POO - ¿Diferencia entre usar una constructora-copiadora a Objeto = Objeto? en: 14 Noviembre 2013, 14:15 pm
NOTA: Creo que esto puede aclarar todo. ¿Te has preguntado por qué los objetos se pasan a una función por referencia y no por valor?

Se que cuando pasas un parámetro por referencia, lo que estás haciendo realmente es pasar su dirección de memoria y operar directamente con los datos ya creados antes, sin tener que crear una copia como ocurre cuando lo pasas por valor.

Dicho esto, ¿Un objeto siempre se debe pasar por referencia? Nunca me he fijado en ese detalle, pero pensándolo bien, si que es verdad que muy pocas veces he pasado un objeto por valor. Supongo que será por temas de memoria o similares, pero se puede hacer (almenos en C++) ya que buscando un error en una clase que estoy desarrollando  (http://foro.elhacker.net/programacion_cc/error_al_usar_const_en_funciones_de_una_clase-t402724.0.html) elimine los tags "const" y "&" del objeto que le pasaba a la función para solucionar el error temporalmente (Me harías un favor si le echases un ojo).

Menciona el lenguaje en el que estás trabajando y veremos si podemos encontrar algo al respecto.

Estoy trabajando con C# y C++ por el momento.

Muchas gracias!
149  Programación / Programación General / Re: POO - ¿Diferencia entre usar una constructora-copiadora a Objeto = Objeto? en: 13 Noviembre 2013, 14:47 pm
Que cuando haces Objeto = Objeto2 estás diciendo que la dirección de Objeto es la misma dirección de memoria que Objeto2, es decir, estás diciendo que Objeto y Objeto2 son dos referncias distintas a la misma posición de memoria. Así que si modificas cualquier propiedad de Objeto al leer la misma propiedad en Objeto2 obtendrás el valor ya modificado.

Saludos.

¿Y ocurre siempre lo mismo en todos los lenguajes que permitan POO? Me había imaginado una respuesta del tipo: "Depende del lenguaje de programación o del compilador usado", ya que al ser una asignación alomejor distintos lenguajes y compiladores lo interpretaban distinto.
150  Programación / Programación C/C++ / Re: Problema con clases c++ en: 13 Noviembre 2013, 02:22 am
Mirándomelo así por encima, lo que he visto es que usas el tag "public" dos veces. No deberias usar "private" para la declaración de variables y "public" para la declaración de funciones?
Es decir, envez de

Código
  1. class servicios
  2. {
  3.  public:
  4.      int cod_servicio[10],comision [10];
  5.      float costo [10];
  6.      char servicio[10][50];
  7.   public:
  8.       void constante();
  9.       void mostrar();
  10.       void capturar();
  11.       void buscar();
  12.       void modificar();
  13. };

deberia ser

Código
  1. class servicios
  2. {
  3.  private:
  4.      int cod_servicio[10],comision [10];
  5.      float costo [10];
  6.      char servicio[10][50];
  7.   public:
  8.       void constante();
  9.       void mostrar();
  10.       void capturar();
  11.       void buscar();
  12.       void modificar();
  13. };

Corregirme si me equivoco.
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines