Quiero saber qué tan mutable afecta a un contenedor (mapa, vector, lista, ...). Además, ¿qué tengo que tener en cuenta?C++ ¿Cómo afecta la palabra clave mutable al rendimiento del contenedor?
Respuesta
mutable
, como const
, es solo una cosa de tiempo de compilación. Solo te permite modificar esa variable en un contexto constante. En el tiempo de ejecución, no hay diferencia si declaraste el contenedor mutable
o no.
class Foo{
mutable int i;
public:
void foo() const{
// constant context, but you can modify `i`
i = 5;
}
};
También se puede utilizar como una sugerencia para el optimizador – Dani
Afecta lo que puede hacer el optimizador. –
Existen (al menos en teoría) algunas oportunidades de optimización que puede hacer con objetos inmutables (en el sentido más amplio), que pueden romper su código si se aplican a objetos 'const' con miembros' mutable'. Sin embargo, no estoy lo suficientemente familiarizado con las implementaciones del compilador para decir en qué medida se implementan. Aún así, la pregunta es válida precisamente por esta razón. – bitmask
- 1. ¿La palabra clave C++ mutable es incorrecta para los hilos?
- 2. C# palabra clave 'ref', rendimiento
- 3. ¿Cuándo ha utilizado la palabra clave "mutable" de C++?
- 4. ¿Cuál es la palabra clave de rendimiento utilizada en C#?
- 5. ¿Cómo afecta la llamada al método el rendimiento en Java?
- 6. La palabra clave sellada afecta la opinión del compilador sobre un molde
- 7. Contenedor inmutable con contenido mutable
- 8. ¿La ofuscación afecta el rendimiento?
- 9. ¿Cómo afecta la sugerencia del índice SQL al rendimiento de la consulta?
- 10. Las maravillas de la palabra clave de rendimiento
- 11. Palabra clave protegida C#
- 12. ¿Cómo afecta un registro de transacciones grande al rendimiento?
- 13. ¿Valor añadido de la palabra clave de rendimiento?
- 14. En SQL, ¿cómo afecta el uso de DISTINCT al rendimiento?
- 15. C# palabra clave virtual
- 16. C# ref uso de la palabra clave
- 17. z-index, ¿cómo afecta el rendimiento?
- 18. C++: estructura y la nueva palabra clave
- 19. C: Comportamiento de la palabra clave `const`
- 20. etiqueta de cadena de documentación para la palabra clave 'rendimiento'
- 21. palabra clave "agradable" en C++?
- 22. ¿Hay algún paralelismo en la palabra clave de rendimiento de Objective-C a C#?
- 23. ¿La nueva palabra clave 'dinámica' C# 4.0 desaprueba la palabra clave 'var'?
- 24. instancia del uso de la palabra clave
- 25. Falta la palabra clave 'con' en C#
- 26. ¿Necesita C# la palabra clave privada?
- 27. Registro palabra clave en C++
- 28. palabra clave 'fuera' en C++
- 29. palabra clave estática en C#
- 30. Uso del rendimiento en C#
Las personas escriben libros sobre la palabra clave mutable en general, tal vez puede restringirla, con un poco de código que muestra de qué se trata en su caso específico. – PlasmaHH