¿Cuál es la diferencia entre hacer que las funciones de un miembro sean constantes y pasar un objeto como argumento usando una palabra clave constante?

  1. Si hace que las funciones miembro sean constantes, significa que no se modificarán miembros de datos de esa clase (siempre que los miembros no sean mutables) en esa función.

Ilustraré con un ejemplo en c ++

Aquí no se permite cambiar el valor de m_id ya que es miembro de la clase A y

void DoSomething () es una función constante de la clase A, por lo que no podemos modificar A en esa función.

2. Pasar un objeto como argumento usando constante palabra clave constante significa que el objeto de clase pasado no se va a modificar en esa función. Aquí hay otro ejemplo para explicar que

Aquí, en la función DoSomething (const A a) nuestro propósito es mantener constante el objeto de A durante toda la función. Por lo tanto, no podemos llamar a funciones no const de A en la función DoSomething y solo podemos llamar a funciones const de clase A.

Estas son dos cosas totalmente diferentes. Una función miembro constante significa que la función no ‘modificará’ el objeto subyacente. Un parámetro constante de las funciones de un miembro significa que la función no modificará el parámetro.

Entonces, una función miembro const podría tomar un argumento que es modificado por la función, y una función miembro con un argumento const, podría modificar el objeto subyacente.

More Interesting

¿Dónde puedo encontrar un lugar para aprender sobre la lógica cuántica dirigida al laico?

¿Qué evidencia hay de que el entrelazamiento cuántico no depende del estado observado de las partículas entrelazadas existentes en el punto de separación?

¿Es posible la vida artificial cuántica?

¿Bitcoin está haciendo algo para protegerse de la computación cuántica?

¿Qué son exactamente los qubits y cómo se registran / miden para el cálculo cuántico?

Soy un estudiante universitario de farmacia. No tengo experiencia en mecánica cuántica. ¿Puedo aprender modelado molecular? Si es así, ¿por dónde debo comenzar?

¿Es posible transmitir energía de forma inalámbrica a través del enredo cuántico?

¿Por qué quieren computadoras aún más rápidas con mecánica cuántica?

¿Es posible simular el genoma humano y Cas9 CRISPR en una computadora cuántica D-Wave para predecir la manipulación genética de una manera segura?

¿Se puede modelar una computadora cuántica en una computadora estándar?

¿Importa el orden en que se miden los qubits en la computación cuántica?

¿Pueden los transistores emitir bajo, medio, alto en lugar de bajo, alto? Si es así, ¿cuál es la diferencia computacional entre esto y la computación cuántica?

¿Qué es el corte de objetos?

¿El borrador cuántico invierte su paso del tiempo para borrar información, o la eliminación de información es instantánea debido al enredo cuántico?

¿Es posible el colapso cuántico y cuáles son las probabilidades si es así?