Tag: CONSTEXPR
En C++, sé que si declaro una variable dentro de una función, esta variable se considera en realidad como una variable local auto (destruida una vez que la función hace return). Por lo tanto, tiene sentido que una variable local no pueda aparecer en una expresión constante como un inicializador . . . Read more
Tengo el siguiente código: “`lang-cpp // template_header.hpp <h1>ifndef TEMPLATE<em>HEADER</em>HPP</h1> <h1>define TEMPLATE<em>HEADER</em>HPP</h1> namespace template_header { template <int dim1> /<em>static</em>/ constexpr int dim2 = 0; <pre><code>template <> /*static*/ constexpr int dim2<2> = 3; template <> /*static*/ constexpr int dim2<3> = 5; </code></pre> } <h1>endif</h1> <code> </code>lang-cpp // lib1.cpp <h1>include <array></h1> <h1>include "template_header.hpp"</h1> . . . Read more
He estado usando enum class FooEnabled : bool { no, yes }; como una forma de crear bools seguros en cuanto al tipo. Funciona bien, excepto que me gustaría agregar una conversión explícita a bool, operadores booleanos como operator!, etc. Puedo hacerlo así: template <typename Tag> class TypedBool { bool . . . Read more
Disculpen el título pero carezco del vocabulario adecuado para transmitir lo que quiero decir. Estoy creando una clase que almacenará datos analizados en tiempo de compilación a partir de una cadena, sin embargo, las plantillas de sus miembros dependen del número de “palabras” encontradas en esa cadena. Se me ocurrió . . . Read more
Como entiendo, const char* const no garantiza que el puntero sea el mismo cada vez que se ejecute el programa, simplemente significa que el puntero y los datos a los que apunta el puntero no se pueden cambiar durante la vida del programa. constexpr const char* tiene el mismo efecto . . . Read more