El artículo explica la práctica de la inicialización lenta en C++ para optimizar el rendimiento. El problema principal es que la función std::optional<int>::value_or() evalúa sus argumentos antes de llamar a la función, lo que provoca la ejecución de complex_computation() incluso si el valor está disponible en la primera línea de código. Para resolver esto, se define una estructura Lazy que actúa como una función de inicialización, utilizando una operador de conversión para materializar el valor solo cuando es necesario. Sin embargo, el autor señala dos limitaciones: no hay memoización, lo que significa que la computación se ejecuta repetidamente para cada conversión, y la conversión no es restringida, permitiendo convertir a tipos incorrectos como bool en lugar de solo int. El artículo concluye que la solución más robusta requeriría una memoria de caché y una conversión restringida a la tipo de la inicializador, lo cual se desarrollará en el próximo artículo.
