13.01.2015 Views

Pensar en C++ (Volumen 1) - Grupo ARCO

Pensar en C++ (Volumen 1) - Grupo ARCO

Pensar en C++ (Volumen 1) - Grupo ARCO

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

✐<br />

✐<br />

✐<br />

“Volum<strong>en</strong>1” — 2012/1/12 — 13:52 — page 82 — #120<br />

✐<br />

Capítulo 3. C <strong>en</strong> <strong>C++</strong><br />

*ipa = 100;<br />

Ahora a conti<strong>en</strong>e el valor 100 <strong>en</strong> vez de 47.<br />

Estas son las normas básicas de los punteros: se puede guardar una dirección, y se<br />

puede utilizar dicha dirección para modificar la variable original. Pero la pregunta<br />

aún permanece: ¿por qué se querría cambiar una variable utilizando otra variable<br />

como intermediario<br />

Para esta visión introductoria a los punteros, podemos dividir la respuesta <strong>en</strong> dos<br />

grandes categorías:<br />

1. Para cambiar «objetos externos» desde d<strong>en</strong>tro de una función. Esto es quizás<br />

el uso más básico de los punteros, y se examinará más adelante.<br />

2. Para conseguir otras muchas técnicas de programación ing<strong>en</strong>iosas, sobre las<br />

que apr<strong>en</strong>derá <strong>en</strong> el resto del libro.<br />

3.4.5. Modificar objetos externos<br />

Normalm<strong>en</strong>te, cuando se pasa un argum<strong>en</strong>to a una función, se hace una copia de<br />

dicho argum<strong>en</strong>to d<strong>en</strong>tro de la función. Esto se llama paso-por-valor. Se puede ver el<br />

efecto de un paso-por-valor <strong>en</strong> el sigui<strong>en</strong>te programa:<br />

//: C03:PassByValue.cpp<br />

#include <br />

using namespace std;<br />

void f(int a) {<br />

cout

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!