Tag: CONSTEXPR-FUNCTION
Al analizar el código utilizando SonarLint, obtuve un mensaje (el título de la pregunta) sobre un “destructor” que se declara de la siguiente manera: class Foo { public: // ctor por defecto // ctor parametrizado inline ~Foo() = default; // dtor // ctor de copia = delete // operador de . . . Read more
Aquí está mi código: class agg_t1{ int x; // miembro de datos no estático privado }; class agg_t2{ agg_t2(){} // constructor proporcionado por el usuario }; constexpr void ce1(agg_t1 arg){}; // OK constexpr void ce2(agg_t2 arg){}; // ERROR: el tipo de parámetro ‘agg_t2’ no es un tipo literal Según dcl.constexpr: . . . Read more
Puedo decir fácilmente que al declarar una función como constexpr, la evaluamos durante el tiempo de compilación y esto ahorra tiempo durante el tiempo de ejecución, ya que el resultado ya fue producido. Por otro lado, las funciones virtuales necesitan ser resueltas durante el tiempo de ejecución. Por lo tanto, . . . Read more
Tengo un código algo así: template<typename …=”” args=””> constexpr sizet getinit_size(Args … args) { return sizeof…(Args); } template<typename …=”” args=””> constexpr auto makegenericheader(Args … args) { constexpr sizet headerlenght = getinitsize(args…); return header_lenght; } constexpr auto createipv4header() { constexpr auto x = makegenericheader(0b01, 0b10, 0b01); return x; } Sé que . . . Read more