Operador const de C++ (Resumen) 2007-01-27

Variables constantes

  • const int entero; Entero constante, una vez inicializada la variable entero no podrá ser cambiado su valor.
  • const int * pentero; ó int const * pentero; Puntero a entero constante, el contenido del puntero pentero no se podrá cambiar.
  • int * const pentero; Puntero constante a entero, no se podrá cambiar el puntero.

Como regla general const afecta al elemento que está inmediatamente a su izquierda, si no hay nada al que está inmediatamente a su derecha.

Valores constantes de retorno de función

const char * Funcion()
{ return "Un texto"; }

Funcion()[1] = 'a'; // Error

La variable devuelta no se puede modificar pues es constante.

Parámetros constantes

void mostrarPila(const Pila &p);

Como mostrarPila no debe modificar la pila pasamos el objeto pila a mostrar por referencia y constante. De esta manera no podremos modificar el objeto p, ni acceder a métodos de este que no se hayan declarado como const.

Métodos constantes

class Tipo {
...
  void imprime() const;
...
}

Evita que el método imprime pueda modificar los miembros del objeto.

Naudo 2007-01-23

Samba pa ti (Santana) Every little thing she does is magic (Police)

Impresionantes las versiones de este guitarrista. Les da un toque muy personal. En youtube hay un buen puñado de videos de él.

Twitter Updater 2007-01-20

A raíz de ver el script que se hizo felipe, para twittear los todos del basecamp, me he hecho yo uno (más sencillo aún) en Python para simplemente twittear desde consola. Así por ejemplo hago Alt+F2 en KDE o desde la consola escribo twupdater "Ya hemos acbado los examenes (ojala)" y ya está.

Pues eso, nada existencial, pero me ha dado para un ratillo de frikeo, y de paso he toquiteado http desde python.

Aquí dejo el script:

twupdater_v02.tar.gz

Actualización: El script ahora pide usuario y contraseña si no se configuran.

Ultima actualizacion: Ahora además comprueba el usuario y contraseña antes de enviar el estado.

Reordenar PDFs 2007-01-17

Buscando como unir PDFs he encontrado este post en kriptopolis, y he conocido la herramienta PDFTK que nos permite hacer cosas como unir, encriptar, descomprimir pdfs y más.

Pondré unos ejemplos:

  • pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf
    Une los tres ficheros (1.pdf, 2.pdf y 3.pdf) en uno solo (123.pdf).
  • pdftk A=1.pdf B=2.pdf cat A1-7 B1-5 A8 output combined.pdf
    Crea un nuevo pdf extrayendo páginas, en este caso el nuevo pdf se compondría de las paginas 1 a 7 de 1.pdf, luego 1 a 5 de 2.pdf y por último la 8 de 1.pdf
  • pdftk doc.pdf output doc_enc.pdf owner_pw contra
    Encripta el PDF con todos los permisos deshabilitados excepto ver el fichero
  • pdftk doc.pdf output doc_enc.pdf owner_pw contra user_pw contra2
    Igual que el anterior pero ahora pedirá password para abrirlo.

Existen más opciones que se pueden ver en la página del programa, para mí con los dos primeros ejemplos ya me es bastante útil.

Nuevo libro recibido 2007-01-03

Esta mañana estaba durmiendo como un lirón cuando han empezado a llamar al timbre, la verdad, un poco frenéticamente. Bastante mosqueado, pues me habían interrumpido el sueño me dirigo hacia el aparatito y cuando pregunto quien era: “Cartero, traigo un libro para Alvaro…” WOW. El Programming Python 3a Edición (Agosto 2006) que encargue el 13 de diciembre me ha llegado hoy. Menuda sorpesa pues lo esperaba para marzo, después de examenes.

El libro ha llegado en bastante buen estado, aparte de un par de arañazos en las tapas todo perfecto (por si alguien no lo sabe, el libro es de segunda mano), por cierto es bastante tocho casi el doble que el Programming Perl. Al final de todo se puede decir que me han alegrado el día, si si un libro me alegra el día.

En fin que el libro ya está aparcado junto con los demás, y no creo que lo toque demasiado hasta después de exámenes, aunque claro como decía en un post anterior cuando menos toca es cuando más frikeo.