Pasar por puntero frente a pasar por referencia en C++

En C++, podemos pasar parámetros a una función ya sea por punteros o por referencia. En ambos casos, obtenemos el mismo resultado. Entonces, ¿cuál es la diferencia entre pasar por puntero y pasar por referencia en C++? Entendamos primero qué significa Pasar por puntero y Pasar por referencia en C++: 1) Pasar por puntero:  aquí, … Continue reading «Pasar por puntero frente a pasar por referencia en C++»

Referencias en C++

Cuando una variable se declara como referencia, se convierte en un nombre alternativo para una variable existente. Una variable se puede declarar como referencia poniendo ‘&’ en la declaración.  CPP #include <iostream> using namespace std;   int main() {     int x = 10;       // ref is a reference to x.     int& ref = x; … Continue reading «Referencias en C++»

Devolver por referencia en C++ con ejemplos

Los punteros y las referencias en C++ tenían una estrecha relación entre sí. La principal diferencia es que los punteros se pueden operar como agregar valores, mientras que las referencias son solo un alias para otra variable. Las funciones en C++ pueden devolver una referencia ya que devuelve un puntero . Cuando la función devuelve … Continue reading «Devolver por referencia en C++ con ejemplos»

¿Se puede declarar el miembro de referencia de C++ sin inicializarse con la declaración?

Para muchos lectores, esto puede parecer lo mismo, es decir,   class_type *var = NULL; *var = &some_work; is same as class_type *var = &some_work; Pero en realidad, no lo es. Cuando la declaración y la inicialización se realizan en el mismo paso, el compilador llama al constructor de copia, mientras que si se hace en … Continue reading «¿Se puede declarar el miembro de referencia de C++ sin inicializarse con la declaración?»

Plantilla is_rvalue_reference en C++

La plantilla std::is_rvalue_reference de C++ STL se utiliza para comprobar si el tipo es un tipo de referencia de valor r o no. Devuelve un valor booleano que muestra lo mismo. Sintaxis : template <class T > struct is_rvalue_reference; Parámetros : esta plantilla acepta un solo parámetro T (clase de rasgo) para verificar si T … Continue reading «Plantilla is_rvalue_reference en C++»

Plantilla is_lvalue_reference en C++

La plantilla std::is_lvalue_reference de C++ STL se usa para verificar si el tipo es un tipo de referencia lvalue o no. Devuelve un valor booleano que muestra lo mismo. Sintaxis : template <class T > struct is_lvalue_reference; Parámetro de plantilla : esta plantilla acepta un solo parámetro T (clase de rasgo) para verificar si T … Continue reading «Plantilla is_lvalue_reference en C++»