<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ c++ - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Descubre miles de cursos de programación escritos por expertos. Aprende Desarrollo Web, Ciencia de Datos, DevOps, Seguridad y obtén asesoramiento profesional para desarrolladores. ]]>
        </description>
        <link>https://www.freecodecamp.org/espanol/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ c++ - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/espanol/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sat, 30 May 2026 19:37:02 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/espanol/news/tag/c-2/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ Vectores en C++ : Cómo inicializar un vector en un constructor en C++ ]]>
                </title>
                <description>
                    <![CDATA[ Cuando estás trabajando con una colección de variables o de datos en programación, usualmente los guardas en un tipo de dato específico. En C++, puedes guardarlos en arreglos, estructuras, vectores, cadenas de texto y la lista sigue. Si bien estas estructuras de datos tiene sus características distintivas, en este artículo ]]>
                </description>
                <link>https://www.freecodecamp.org/espanol/news/vectores-en-c-como-inicializar-un-vector-en-un-constructor-en-c/</link>
                <guid isPermaLink="false">66087de26e403a04017ccf70</guid>
                
                    <category>
                        <![CDATA[ c++ ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Lucas Agustín Morales Romero ]]>
                </dc:creator>
                <pubDate>Tue, 16 Apr 2024 19:43:37 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/espanol/news/content/images/2024/03/uday-awal-UjJWhMerJx0-unsplash--2-.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artículo original:</strong> <a href="https://www.freecodecamp.org/news/cpp-vector-how-to-initialize-a-vector-in-a-constructor/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">C++ Vector – How to Initialize a Vector in a Constructor in C++</a>
      </p><p>Cuando estás trabajando con una colección de variables o de datos en programación, usualmente los guardas en un tipo de dato específico.</p><p>En C++, puedes guardarlos en arreglos, estructuras, vectores, cadenas de texto y la lista sigue. Si bien estas estructuras de datos tiene sus características distintivas, en este artículo nos vamos a concentrar en los múltiples métodos para inicializar vectores.</p><p>Pero antes, hablemos un poco de los vectores y que los hace destacarse cuando trabajamos con colecciones en C++.</p><h2 id="-qu-son-los-vectores-en-c-"><strong>¿Qué son los vectores en C++?</strong></h2><p>A diferencia de los arreglos, donde la memoria es asignada de forma estática, los vectores nos permiten crear estructuras de datos más dinámicas.</p><p>Este es un ejemplo de un arreglo en C++:</p><pre><code class="language-C++">#include &lt;iostream&gt;
using namespace std;

int main() {
    string nombres[3] = {"Nicolas", "Matias", "Tomas"};
    cout &lt;&lt; nombres[1] &lt;&lt; endl;
    // Matias
}
 </code></pre><p>El arreglo del código de ejemplo fue creado y reservo en memoria el espacio suficiente para contener solo 3 elementos, en el caso de que quisiéramos agregar nuevos elementos generando un nuevo índice, nos daría como resultado un error. </p><p>Con los vectores, las cosas son un poquito diferente, cuando lo definimos, no tenemos que especificar la capacidad que tendrá, tras bambalinas, el espacio en memoria del vector se modifica al mismo tiempo que cambia el tamaño del vector. </p><h2 id="sintaxis-de-los-vectores-en-c-"><strong>Sintaxis de los vectores en C++</strong></h2><p>Declarar un <code>vector</code> es diferente de inicializarlo, Declararlo significa crear un nuevo <code>vector</code>, mientras que inicializarlo es insertarle elementos en él.</p><p>Así es como se ve la sintaxis de un vector:</p><pre><code class="language-txt">vector &lt;tipo_de_dato&gt; nombre_de_vector</code></pre><p>Cada nuevo <code>vector</code> debe ser declarado usando la palabra clave <strong>vector, </strong>seguido por el tipo de dato que queremos almacenar encerrado entre paréntesis angulares (el vector puede contener varios tipos de datos: cadenas, enteros, caracteres y la lista sigue), por último debemos especificar el nombre del vector, el cual puede ser cualquiera que nosotros decidamos, aunque siempre es conveniente utilizar nombres que hagan nuestro código lo más legible posible.</p><p>Cabe aclarar que debemos escribir la directiva <code>include &lt;vector&gt;</code> al inicio del archivo para poder usar los vectores.</p><h2 id="c-mo-inicializar-un-vector-en-c-"><strong>Cómo inicializar un vector en C++</strong></h2><p>En esta sección, veremos las diferentes maneras de inicializar un <code>vector</code> en C++, las dividiremos en subsecciones con su respectivo ejemplo. </p><p>Comencemos con la manera más básica.</p><h3 id="c-mo-inicializar-un-vector-en-c-usando-el-m-todo-push_back-"><strong>Cómo inicializar un vector en C++ usando el método <code>push_back()</code></strong></h3><p><strong><code>push_back()</code> </strong>es uno de los varios métodos que podemos usar para interactuar con los vectores. <code>Push_back()</code> toma el parámetro que le demos y lo inserta en el índice final del vector.</p><p>Aquí tenemos un ejemplo:</p><pre><code class="language-C++">#include &lt;iostream&gt;
#include &lt;vector&gt;
using namespace std;

int main() {
	//declaramos el vector "miVector"
    vector&lt;int&gt; miVector;
	//ahora, inicializamos el vector usando push_back()
	miVector.push_back(5);
	miVector.push_back(10);
	miVector.push_back(15);

	for (int x : miVector)
		cout &lt;&lt; x &lt;&lt; " ";
		// 5 10 15 
}
</code></pre><p>En el ejemplo, declaramos el <code>vector</code>, <code>miVector</code> usando la sentencia <code>vector&lt;int&gt; miVector;</code>.</p><p>Luego, usando el método <code>push_back()</code> le insertamos tres valores (5,10,15)</p><p>Finalmente, usando un bucle <strong>for</strong>, iteramos en el vector para mostrar en consola los valores.</p><h3 id="como-inicializar-un-vector-al-mismo-tiempo-que-lo-declaramos"><strong>Como inicializar un vector al mismo tiempo que lo declaramos</strong></h3><p>Al igual que con los arreglos, podemos asignar valores al vector al momento que lo declaramos. <br><br>Veamos el siguiente ejemplo: </p><pre><code class="language-C++">#include &lt;iostream&gt;
#include &lt;vector&gt;
using namespace std;

int main() {
	//declaramos e inicializamos el vector miVector
    vector&lt;int&gt; miVector{ 5, 10, 15 };

	for (int x : miVector)
		cout &lt;&lt; x &lt;&lt; " ";
		// 5 10 15 
}
</code></pre><p>En este ejemplo, en la misma línea declaramos e inicializamos el vector.</p><p>Una vez que los números son asignados al <code>vector</code>, lo recorremos y, posteriormente, los imprimimos en consola.</p><p>Habrá notado, que entre paréntesis angulares encerré el tipo de dato que podrá contener el <code>vector</code>, en este caso el tipo es entero <code>int</code>.</p><h3 id="c-mo-inicializar-un-vector-con-un-arreglo"><strong>Cómo inicializar un vector con un arreglo</strong></h3><p>Esta vez, inicializaremos el vector con los valores contenidos en un arreglo creado con anterioridad, para esto, utilizaremos dos métodos de la clase vector: <strong><code>begin()</code></strong> y <strong><code>end()</code></strong>.</p><p>Veamos como es que estos métodos funcionan:</p><pre><code class="language-C++">#include &lt;iostream&gt;
#include &lt;vector&gt;
using namespace std;

int main() {
    //Creamos el arreglo que contiene los datos que luego asignaremos al vector
    int miArreglo[] = { 5, 10, 15 };
    //Definimos el vector miVector y, mediante los metodos begin() y end() asignamos el contenido del arreglo que definimos con anterioridad
    vector&lt;int&gt; miVector(begin(miArreglo), end(miArreglo));


	for (int x : miVector)
		cout &lt;&lt; x &lt;&lt; " ";
		// 5 10 15 
}
</code></pre><p>Así como utilizamos un arreglo para generar un vector, podemos utilizar los dos métodos vistos en el ejemplo para copiar los valores de un vector hacia otro.</p><h3 id="vectores-de-tama-o-est-tico-como-inicializar-un-vector-especificando-el-tama-o-y-el-valor-contenido"><strong>Vectores de tamaño estático: Como inicializar un vector, especificando el tamaño y el valor contenido</strong></h3><p>Podemos especificar el tamaño y la información que contendrá el vector al momento de declararlo. Esto nos permitirá que el vector tenga un tamaño y un valor específico a través de la ejecución del código.</p><p>Aquí te muestro un ejemplo:</p><pre><code class="language-C++">#include &lt;iostream&gt;
#include &lt;vector&gt;
using namespace std;

int main() {

  int cantidad_de_elementos = 5; 
  
  vector&lt;int&gt; miVectorFijo(cantidad_de_elementos, 2); 
  
  	for (int x : miVectorFijo)
		cout &lt;&lt; x &lt;&lt; " ";
// 		2 2 2 2 2 
}</code></pre><p>En el ejemplo, primero definimos una variable <code>cantidad_de_elementos = 5</code>, el cual especifica la cantidad de elementos máximos que contendrá el vector.</p><p>Luego, declaramos el vector <code>miVectorFijo</code><strong> </strong>pasándole 2 parámetros: el primero corresponde al número máximo de elementos que el vector contendrá, mientras que el segundo corresponde al valor que contendrá el vector.</p><p>Finalmente, iteramos con un bucle for para poder imprimir en pantalla el contenido del vector, por lo que nos imprimirá 5 veces 2.</p><h3 id="c-mo-inicializar-un-vector-usando-el-constructor-de-una-clase"><strong>Cómo inicializar un vector usando el constructor de una &nbsp;clase</strong></h3><p>Podemos inicializar vectores en constructores de clases, de esta forma podemos hacer que la clase sea más dinámica y, no tengamos que programar manualmente los valores del vector al inicializar la clase.</p><p>Veamos un ejemplo:</p><pre><code class="language-C++">#include &lt;iostream&gt;
#include &lt;vector&gt;
using namespace std;

class Vector {
	vector&lt;int&gt; miVector;

public:
	Vector(vector&lt;int&gt; newVector) {
	    miVector = newVector;
	}
	
	void imprimirVector() {
		for (int i = 0; i &lt; miVector.size(); i++)
			cout &lt;&lt; miVector[i] &lt;&lt; " ";
	}
	
};

int main() {

    vector &lt;int&gt; vectorNuevo;
    
	vectorNuevo.push_back(5);
	vectorNuevo.push_back(10);
	vectorNuevo.push_back(15);
	
	Vector vector(vectorNuevo);
	vector.imprimirVector();
	// 5 10 15 
}
</code></pre><p>Vamos a analizar el ejemplo:</p><pre><code class="language-C++">class Vector {
	vector&lt;int&gt; miVector;

public:
	Vector(vector&lt;int&gt; newVector) {
	    miVector = newVector;
	}
	
	void imprimirVector() {
		for (int i = 0; i &lt; miVector.size(); i++)
			cout &lt;&lt; miVector[i] &lt;&lt; " ";
	}
	
};</code></pre><p>Primero, creamos la clase <strong>Vector</strong>, luego creamos una variable de tipo vector a la cual llamamos <code>miVector</code>.</p><p>Luego, definimos el constructor de la clase, el cual tiene dos métodos: uno que toma el vector inicializado y otro que imprime en pantalla los valores contenidos en el vector.</p><pre><code class="language-C++">int main() {
    vector &lt;int&gt; vectorNuevo;
    
	vectorNuevo.push_back(5);
	vectorNuevo.push_back(10);
	vectorNuevo.push_back(15);
	
	Vector vector(vectorNuevo);
	vector.imprimirVector();
	// 5 10 15 
}</code></pre><p>Luego, en el bloque <code>main</code>, creamos un nuevo vector, le insertamos los valores 5,10 y 15.</p><p>Finalmente, imprimimos por pantalla el contenido del vector con el método <code>imprimirVector()</code>, el cual fue definido en la clase que creamos anteriormente.</p><p>Lo interesante del ejemplo, es que los métodos fueron definidos en la clase, por lo que, no debemos preocuparnos del tamaño del vector (el cual es obtenido por la clase).</p><h2 id="conclusiones"><strong>Conclusiones</strong></h2><p>En este artículo, hablamos sobre los vectores en C++, comenzamos diferenciando los arreglos de los vectores <em><strong>(recuerde, que los arreglos tienen un tamaño estático, mientras que los vectores tienen un tamaño dinámico, aunque, en caso de que sea necesario ese tamaño puede ser definido para que también sea estático).</strong></em></p><p>Luego, trabajamos con algunos métodos que podemos utilizar para inicializar el vector y mostramos ejemplos de cada método <em><strong>(nuevamente, recuerde que no es lo mismo declarar que inicializar, declarar es crear en memoria el vector, e inicializar es asignarle valores a ese vector).</strong></em></p><p>¡Que tengas un gran día programando <em><strong>(y aprendiendo)</strong></em>!</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Getline en C++ - Ejemplo con función getline() ]]>
                </title>
                <description>
                    <![CDATA[ En este artículo, hablaremos sobre la función getline() en C++. Esta es una función incorporada que acepta entradas de un solo carácter o múltiples caracteres. Cuando trabajamos con la entrada del usuario en C++, el objeto cin nos permite obtener información de entrada del usuario. Pero cuando intentamos registrar la ]]>
                </description>
                <link>https://www.freecodecamp.org/espanol/news/getline-en-c-ejemplo-con-funcion-getline/</link>
                <guid isPermaLink="false">65286dc6be1eb103de68386a</guid>
                
                    <category>
                        <![CDATA[ c++ ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Anna Aimeri ]]>
                </dc:creator>
                <pubDate>Mon, 16 Oct 2023 16:27:59 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/espanol/news/content/images/2023/10/getline.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artículo original:</strong> <a href="https://www.freecodecamp.org/news/getline-in-cpp-cin-getline-function-example/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">Getline in C++ – cin getline() Function Example</a>
      </p><p>En este artículo, hablaremos sobre la función <code>getline()</code> en C++. Esta es una función incorporada que acepta entradas de un solo carácter o múltiples caracteres.</p><p>Cuando trabajamos con la entrada del usuario en C++, el objeto <code>cin</code> nos permite obtener información de entrada del usuario. Pero cuando intentamos registrar la entrada del usuario que tiene múltiples valores, solo devuelve el primer carácter.</p><p>Esto sucede porque el compilador de C++ asume que cualquier espacio en blanco termina el programa al obtener la entrada. Es decir, "Mi nombre es Ihechikara" solo devolvería "Mi" al registrarse.</p><p>Aquí tienes un mejor ejemplo:</p><pre><code class="language-none">#include &lt;iostream&gt;
using namespace std;

int main() {

    string bio;
    
    // Mensaje impreso en la consola
    cout &lt;&lt; "Contanos sobre vos: ";
    
    /* Esto le pide al usuario que escriba un mensaje y yo escribí esto: 				"JavaScript es mi lenguaje preferido"
    */
    cin &gt;&gt; bio;
    
    /* Cuando quiero imprimir la bio de arriba, sólo se imprime "Javascript"
    */
    cout &lt;&lt; "Tu bio dice: " &lt;&lt; bio;
    // Tu bio dice: Javascript

    
}</code></pre><p>En el código anterior, se le pide al usuario que ingrese su bio. Luego ingresaron "JavaScript es mi lenguaje preferido". Pero cuando la bio se mostró en la consola, solo se registró "JavaScript".</p><p>A continuación, veremos cómo usar la función <code>getline()</code> para obtener el resto de los caracteres en la cadena.</p><h2 id="ejemplo-con-getline-en-c-"><strong>Ejemplo con getline() en C++</strong></h2><p>En esta sección, veremos un ejemplo práctico de cómo usar la función <code>getline()</code>.</p><pre><code class="language-none">#include &lt;iostream&gt;
using namespace std;

int main() {

    string bio;
    
    cout &lt;&lt; "Contanos sobre vos: ";
    
    getline(cin, bio);
    
    cout &lt;&lt; "Tu bio dice: " &lt;&lt; bio;
}</code></pre><p>En el ejemplo anterior, pasamos dos parámetros a la función <code>getline()</code>: <code>getline(cin, bio)</code>;. El primer parámetro es el objeto <code>cin</code> y el segundo es la variable de cadena <code>bio</code>.</p><p>Cuando ejecutas el código, se te pedirá que ingreses algún texto. Después de hacerlo, presiona "Enter" y verás la salida que contiene todo el texto de tu entrada en lugar de solo el primer carácter.</p><p>En mi caso, ingresé una cadena con múltiples caracteres y la obtuve registrada en la consola. Inténtalo para ver cómo funciona.</p><p>Con esto, puedes trabajar de manera efectiva con las entradas de usuario en tus programas.</p><h2 id="conclusi-n"><strong>Conclusión</strong></h2><p>En este artículo, hablamos sobre la función <code>getline()</code>, que nos permite obtener múltiples caracteres de la entrada del usuario.</p><p>Primero vimos lo que sucede cuando obtenemos una cadena con múltiples caracteres de un usuario: solo se devuelve el primer carácter.</p><p>Luego vimos cómo obtener todos los caracteres de la cadena utilizando la función <code>getline()</code>, que toma dos parámetros: el objeto <code>cin</code> y la variable de cadena.</p><p>¡Feliz codificación!</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Double vs Float en C++ – La diferencia entre Floats y Doubles ]]>
                </title>
                <description>
                    <![CDATA[ En C++, existen varios tipos de datos como string, int, char, bool, float y  double. Cada uno de estos tipos de datos tiene valores específicos que se pueden almacenar en ellos. Cuando trabajamos con números enteros, generalmente los almacenamos en un tipo de dato int. Sin embargo, esto solo ]]>
                </description>
                <link>https://www.freecodecamp.org/espanol/news/double-vs-float-en-c-la-diferencia-entre-floats-y-doubles/</link>
                <guid isPermaLink="false">6527e1dfbe1eb103de682ee6</guid>
                
                    <category>
                        <![CDATA[ c++ ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Anna Aimeri ]]>
                </dc:creator>
                <pubDate>Mon, 16 Oct 2023 16:25:59 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/espanol/news/content/images/2023/10/nick-hillier-yD5rv8_WzxA-unsplash-1.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artículo original:</strong> <a href="https://www.freecodecamp.org/news/double-vs-float-in-cpp-the-difference-between-floats-and-doubles/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">Double VS Float in C++ – The Difference Between Floats and Doubles</a>
      </p><p>En C++, existen varios tipos de datos como <code>string</code>, <code>int</code>, <code>char</code>, <code>bool</code>, <code>float</code> y <code>double</code>. Cada uno de estos tipos de datos tiene valores específicos que se pueden almacenar en ellos.</p><p>Cuando trabajamos con números enteros, generalmente los almacenamos en un tipo de dato <code>int</code>. Sin embargo, esto solo es útil para números enteros.</p><p>Cuando queremos almacenar números con decimales, podemos usar <code>float</code> o <code>double</code>. Aunque estos dos tipos de datos se utilizan para un propósito similar, tienen algunas diferencias.</p><p>En este artículo, hablaremos sobre las diferencias entre float y double en C++ junto con algunos ejemplos.</p><h2 id="diferencia-entre-floats-y-doubles"><strong>Diferencia entre Floats y Doubles</strong></h2><p>Esta sección se dividirá en secciones más pequeñas, cada una enfocada en una diferencia entre float y double.</p><h3 id="diferencia-en-el-tama-o-en-bytes"><strong>Diferencia en el tamaño en bytes </strong></h3><p>El tamaño en bytes para <code>float</code> es 4, mientras que el tamaño en bytes para <code>double</code> es 8. Esto implica que <code>double</code> puede almacenar valores que son el doble de la cantidad que <code>float</code> puede contener. Podemos comprobar esto usando el operador <code>sizeof()</code>. Aquí tienes un ejemplo:</p><pre><code class="language-none">#include &lt;iostream&gt;
using namespace std;
int main() {
    
    cout &lt;&lt; "float: " &lt;&lt; sizeof(float) &lt;&lt; endl; // float: 4
    cout &lt;&lt; "double: " &lt;&lt; sizeof(double) &lt;&lt; endl;// double: 8

}</code></pre><h3 id="diferencia-en-la-precisi-n-exactitud-"><strong>Diferencia en la precisión (exactitud)</strong></h3><p>Cuando trabajamos con números que tienen muchas cifras decimales, generalmente esperamos que el valor resultante sea preciso. Sin embargo, la precisión de nuestro resultado depende de la cantidad de cifras decimales con las que estamos tratando. No te preocupes, seguimos hablando de C++, no de matemáticas.</p><p><code>float</code> y <code>double</code> tienen capacidades variables cuando se trata de la cantidad de cifras decimales que pueden contener. <code>float</code> puede mantener hasta 7 cifras decimales de manera precisa, mientras que <code>double</code> puede mantener hasta 15.</p><p>Veamos algunos ejemplos para demostrar esto:</p><pre><code class="language-none">#include &lt;iomanip&gt;
#include &lt;iostream&gt;
using namespace std;

int main() {
    double MY_DOUBLE_VALUE = 5.12345678987;

    float MY_FLOAT_VALUE = 5.12345678987;
    
    cout &lt;&lt; setprecision(7);
    cout &lt;&lt; MY_DOUBLE_VALUE &lt;&lt; endl; // 5.123457
    cout &lt;&lt; MY_FLOAT_VALUE &lt;&lt; endl; // 5.123457
}</code></pre><p>En el ejemplo anterior, creamos variables <code>float</code> y <code>double</code>, ambas con el mismo valor: <code>5.12345678987</code>. La función <code>setprecision()</code> se utiliza para indicar al compilador la cantidad de decimales que deseamos que se impriman. En nuestro caso, el valor es 7.</p><p>Podemos observar en los resultados del código anterior que ambas variables imprimieron valores precisos hasta el séptimo lugar decimal: <code>5.123457</code>.</p><p>Ahora aumentemos el parámetro en la función <code>setprecision()</code> a 12 y veamos qué pasa:</p><pre><code class="language-none">#include &lt;iomanip&gt;
#include &lt;iostream&gt;
using namespace std;

int main() {
    double MY_DOUBLE_VALUE = 5.12345678987;

    float MY_FLOAT_VALUE = 5.12345678987;
    
    cout &lt;&lt; setprecision(12);
    cout &lt;&lt; MY_DOUBLE_VALUE &lt;&lt; endl; // 5.12345678987
    cout &lt;&lt; MY_FLOAT_VALUE &lt;&lt; endl; // 5.12345695496
}</code></pre><p>De los resultados anteriores, podemos ver que la variable <code>MY_DOUBLE_VALUE</code> imprimió valores precisos. Sin embargo, la variable <code>MY_FLOAT_VALUE</code>, a partir del séptimo lugar decimal, imprimió valores completamente diferentes al valor original que se le dio. Esto nos muestra la diferencia en la precisión de ambos tipos de datos. Al igual que <code>float</code>, si intentamos devolver un valor que excede el rango de precisión del tipo de dato <code>double</code>, obtendremos un valor inexacto.</p><h3 id="diferencia-en-el-uso"><strong>Diferencia en el uso</strong></h3><p><br><code>float</code> se utiliza principalmente en bibliotecas gráficas para aplicaciones que requieren un alto poder de procesamiento debido a su rango limitado. <br><code>double</code> se utiliza principalmente en cálculos de programación para eliminar errores cuando se redondean valores decimales. Aunque <code>float</code> todavía se puede utilizar, solo debe hacerse en casos en los que se estén manejando valores decimales pequeños. Para estar seguro, siempre se debe utilizar <code>double</code>.</p><p>Esta información destaca la importancia de elegir el tipo de dato adecuado según las necesidades de precisión y rango de tus cálculos en C++.</p><h3 id="conclusi-n"><strong>Conclusión</strong></h3><p>En este artículo, hemos hablado de las diferencias entre <code>float</code> y <code>double</code> en C++. Hemos destacado tres diferencias clave: tamaño en bytes, precisión y casos de uso.</p><p>Hemos aprendido que los <code>doubles</code> tienen el doble del tamaño en bytes de los <code>floats</code> y son más precisos al trabajar con valores decimales grandes. Además, hemos explorado los casos de uso que nos ayudan a comprender cuándo utilizar cada tipo de dato.</p><p>¡Feliz codificación!</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ C++ map explicado con ejemplos ]]>
                </title>
                <description>
                    <![CDATA[ map es un contenedor que almacena elementos en pares clave-valor. Es similar a las colecciones en Java, los arreglos asociativos en PHP, o los objetos en JavaScript. Aquí están los principales beneficios de usar map:  * map solo almacena claves únicas, y las propias claves están ordenadas  * ]]>
                </description>
                <link>https://www.freecodecamp.org/espanol/news/c-map-explicado-con-ejemplos/</link>
                <guid isPermaLink="false">644c07d1db9a5007c084b18d</guid>
                
                    <category>
                        <![CDATA[ c++ ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Gibran Pelayo M. ]]>
                </dc:creator>
                <pubDate>Fri, 05 May 2023 01:29:23 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/espanol/news/content/images/2023/04/5f9c9d26740569d1a4ca3630.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artículo original:</strong> <a href="https://www.freecodecamp.org/news/c-plus-plus-map-explained-with-examples/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">C++ Map Explained with Examples</a>
      </p><p><code>map</code> es un contenedor que almacena elementos en pares clave-valor. Es similar a las colecciones en Java, los arreglos asociativos en PHP, o los objetos en JavaScript.</p><p>Aquí están los principales beneficios de usar <code>map</code>:</p><ul><li><code>map</code> solo almacena claves únicas, y las propias claves están ordenadas</li><li>Debido a que las claves están ya ordenadas, el buscar un elemento es muy rápido</li><li>Hay solo un valor para cada clave</li></ul><p>Aquí un ejemplo:</p><pre><code class="language-none">#include &lt;iostream&gt;
#include &lt;map&gt;

using namespace std;

int main (){
  map&lt;char,int&gt; primero;
  
  //inicializando
  primero['a']=10;
  primero['b']=20;
  primero['c']=30;
  primero['d']=40;
  
   map&lt;char, int&gt;::iterator eso;
   for(eso=primero.begin(); eso!=primero.end(); ++eso){
      cout &lt;&lt; eso-&gt;primero &lt;&lt; " =&gt; " &lt;&lt; eso-&gt;segundo &lt;&lt; '\n';
   }
   
  return 0;
}</code></pre><p>Salida:</p><pre><code class="language-text">a =&gt; 10
b =&gt; 20
c =&gt; 30
d =&gt; 40</code></pre><h3 id="creaci-n-de-un-objeto-map"><strong>Creación de un objeto <code>map</code></strong></h3><p><code>map&lt;string, int&gt; miMapa;</code></p><h3 id="inserci-n"><strong>Inserción</strong></h3><p>Inserción de datos con la función miembro insert</p><pre><code class="language-none">miMapa.insert(make_pair("Tierra", 1));
miMapa.insert(make_pair("Luna", 2));</code></pre><p>También podemos insertar datos en std::map usando el operador [] es decir</p><p><code>miMapa["Sol"] = 3;</code></p><h3 id="acceso-a-los-elementos-de-map"><strong>Acceso a los elementos de <code>map</code> </strong></h3><p>Para acceder a los elementos de map, tienes que crear un iterador. Por ejemplo:</p><pre><code class="language-none">map&lt;char, int&gt;::iterator eso;
for(eso=primero.begin(); eso!=primero.end(); ++eso){
  cout &lt;&lt; eso-&gt;first &lt;&lt; " =&gt; " &lt;&lt; eso-&gt;second &lt;&lt; '\n';
}</code></pre> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
