CB100

Notas, resueltos y tps de la materia Algoritmos y Estructuras de Datos
Index Commits Files Refs README
notas/clases/teorica01.md (1536B)
   1 # Teórica 13-03-24
   2 
   3 ## Introducción a la materia
   4 
   5 * Se utilizara el lenguaje C++ versión ANSI C98
   6 * Recomendado utilizar un entorno de desarrollo (IDE) por sobre un editor de
   7   texto y un compilador de linea de comandos
   8 * Se recomienda compilar con la maquina virtual provista por el curso previo a
   9   entregar un trabajo práctico para corroborar que funcione correctamente en una
  10   computadora diferente
  11 
  12 ## El lenguaje de programación C++
  13 
  14 ### Convenciones utilizadas en el curso
  15 
  16 * Capitalización de tipo *camelCase* para nombrar las variables
  17 * Definir las constantes numéricas como `static const int valor = 1;` al
  18   comienzo del archivo
  19 * Evitar el uso de *goto*
  20 
  21 
  22 ### Parámetros de función como referencias
  23 
  24 El pasaje de variables a una función por referencia permite a las funciones
  25 acceder a la memoria de la variable invocada y modificarla si la función lo
  26 permite.
  27 
  28 En el siguiente ejemplo la función `foo` recibe una variable `var` por
  29 referencia, nótese que de esta manera la función no utiliza más memoria que la
  30 dirección de memoria de la variable `var`, esto permite ahorrar memoria ya que
  31 de pasar la variable `var` por valor, la función `foo` debería hacer una copia
  32 local de la variable `var`
  33 
  34 ```c++
  35 void foo(int &var) {
  36     return var + 1;
  37 }
  38 ```
  39 
  40 Una ventaja del pasaje por referencia es que permite agregar el prefijo `const`
  41 el cual permite a la función acceder a la memoria del parámetro pero sin
  42 modificar el contenido de la memoria. 
  43 
  44 ```c++
  45 void foo(const int &var) {
  46     return var;
  47 }
  48 ```