repos/CB100

Notas, resueltos y tps de la materia Algoritmos y Estructuras de Datos
Commits Files Refs README
notas/clases/teorica01.md (48 lines)

Teórica 13-03-24

Introducción a la materia

  • Se utilizara el lenguaje C++ versión ANSI C98
  • Recomendado utilizar un entorno de desarrollo (IDE) por sobre un editor de texto y un compilador de linea de comandos
  • Se recomienda compilar con la maquina virtual provista por el curso previo a entregar un trabajo práctico para corroborar que funcione correctamente en una computadora diferente

El lenguaje de programación C++

Convenciones utilizadas en el curso

  • Capitalización de tipo camelCase para nombrar las variables
  • Definir las constantes numéricas como static const int valor = 1; al comienzo del archivo
  • Evitar el uso de goto

Parámetros de función como referencias

El pasaje de variables a una función por referencia permite a las funciones acceder a la memoria de la variable invocada y modificarla si la función lo permite.

En el siguiente ejemplo la función foo recibe una variable var por referencia, nótese que de esta manera la función no utiliza más memoria que la dirección de memoria de la variable var, esto permite ahorrar memoria ya que de pasar la variable var por valor, la función foo debería hacer una copia local de la variable var

void foo(int &var) {
    return var + 1;
}

Una ventaja del pasaje por referencia es que permite agregar el prefijo const el cual permite a la función acceder a la memoria del parámetro pero sin modificar el contenido de la memoria.

void foo(const int &var) {
    return var;
}
   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 ```