Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - ivancea96

#1721
Son muchas preguntas, así que mejor una respuesta general xD

Todo lo que definas en un determinado ámbito (Ej. una función, un bucle, un par de llaves...), se destruirá al salir de ese ámbito, a excepción de variables globales y campos static. Los parámetros de una función están dentro del ámbito de la función.

Pasar un parámetro lo único que hace es copiarlo. Si pasas una clase, llamas al constructor de copia. La excepción es pasar parámetros por referencia de este modo:

Código (cpp) [Seleccionar]
void func(string &arg){}

Dicho esto, todo lo que se deduzca de aquí, pues así será xD

Citar¿En ese caso apuntaría a null el que le paso de parámetro no?

El que le pasas de parámetro, es un puntero. En ningún momento, los cambios que le hagas al puntero, se verán fuera de la función. Solo se verán los cambios que le hagas al objeto apuntado, que no es el caso del ejemplo que pusiste.

Así que no, no apuntará a NULL. E incluso en otro tipo de planteamiento, aunque se destruya un objeto, los punteros que apunten a él seguirán apuntando a la misma dirección de memoria (sería de hecho absurdo que el programa buscase todos los punteros a ese objeto y los igualase a NULL)
#1722
Cita de: Kaxperday en 14 Octubre 2015, 10:19 AM
Ese código , asignaría en _lista otro puntero en la heap, pero que ocurriría con el que ya había.

Si en cambio igualo _lista = &lista; al perderse &lista al salir de la funcion que ocurriría con _lista despues?.

El que había, seguirá existiendo. Pero el que tu creas, si no lo liberas en esa misma función, se quedará sin liberar, ocupando memoria.

Si igualas _lista a &lista, nuevamente no estarás haciendo nada. Simplemente, _lista apuntará a lista.
#1723
Si sabes usar Java y C#... C++ es muy parecido. Lo único, que no tiene tantas funcionalidades ya incluidas.

¿Sabes usar punteros? ¿Memoria dinámica? ¿Multi-threading? ¿POO en C++? De ser así, entonces ya sabes lo necesario de C++. Siendo correcto hasta aquí, di qué quieres hacer, y qué parte del proceso no sabes realizar en C++, y te guiamos.

Con respecto a lo de un curso de C++... Sabiendo ya Java, C#, Objetive-C, etc, lo que quizás quieras es un curso de algoritmia de algún tipo (http://www.cimec.org.ar/~mstorti/aed/aednotes.pdf).

Pero bueno, espero tu respuesta a esas preguntas xD

A todo esto, en caso de que busques enfocarte en las bases de C++, minidosis.org es un curso muy bueno para aprender C++. Explican lo básico. Pero lo dicho, sabiendo Java y C#, pocas cosas te podrán interesar, salvo por un enfoque sintáctico al lenguaje.
#1724
Programación C/C++ / Re: Ayuda
11 Octubre 2015, 21:04 PM
#1725
saintmauricioxd , has venido buscando ayuda sobre como hacer un trim, y te irás con el trim más eficiente y corto jamás hecho en todo elhacker.net.
Empieza la caza
#1726
http://stackoverflow.com/questions/15385315/primefaces-lazyload-datatable-lazydatamodel

Como comentan ahí, hay 2 métodos load. Has implementado uno, prueba implementando también el otro.
#1727
¿Qué App?

Cita de: AlbertoPerez en 10 Octubre 2015, 21:42 PM
-.-

Haces coo si fuera malo :/ xD
#1728
Demasiadas variables :/

#include <stdio.h>
#include <string.h>

int trim(char* str, char c){
int len = strlen(str);
int i,j=0;

for(i=0; i<len && str[i]==c; i++);
for(j=0; ; j++){
str[j] = str[j+i];
if(str[j+i]=='\0')
break;
}
len = j;
if(len>0){
for(i=len-1; i>=0 && str[i]==c; i--, len--);
str[i+1] = '\0';
}
return len;
}

int main(){
char str[] = "    a b c ";
printf("Cadena: '%s'\n", str);
printf("Nueva longitud: %i\n", trim(str, ' '));
printf("Nueva cadena: '%s'\n", str);
}
#1729
while ((auxiliar!=NULL) && (posicion<=nroLinea))
        {
            ant = auxiliar;
            a->primera = a->primera->siguientelinea;
            auxiliar = a->primera;
            posicion++;
        }
        ant->siguientelinea=nuevo_nodo;
        nuevo_nodo->siguientelinea=auxiliar;
        a->primera=primero;


En vez de poner posicion<=nroLinea, pon posicion<nroLinea.
Luego, tendrías que comprobar que ant no sea NULL. Si no es NULL, le asignas el nuevo nodo. Sino, le asignas el nuevo nodo a la lista.

En este tipo de algoritmos, lo mejor es que, si no lo lograste a la primera, lo borres y lo trates de hacer de nuevo. Pero no te pongas a escribir sin tener planteada la totalidad del algoritmo, y con totalidad me refiero a todas sus posibilidades lógicas (nroLinea==0, nroLinea>nroLineasLista, etc)

Como dato final, en la lista, te recomiendo guardar un entero indicando el número de elementos que tiene. Te ahorrará algunas operaciones (pero a la vez tendrás que actualizarlo en cada mdificación de la lista)
#1730
Si no modificas el prototipo, puedes hacer:
Código (javascript) [Seleccionar]
console.log = Console.prototype.log;

EDITO: Por eficiencia, diría que mejor:
Código (javascript) [Seleccionar]
delete console.log