Tag: C++17
Sé cómo detectar la presencia de una variable o un método regular en una clase de C++. ¿Pero cómo hacerlo cuando el método es una plantilla? Considere el siguiente código: struct SomeClass { template<typename sender,=”” typename=”” t=””> auto& send(T& object) const { Sender::send(object); return object; }; }; ¿Cómo escribir algo . . . Read more
La siguiente función (en mi intención) toma un rvalue y lo presenta como si fuera un lvalue. auto constexpr RtoL = [](auto&& r) -> decltype(auto) { static_assert(std::is_rvalue_reference_v<decltype(r)>, “Gimme rvalues, not lvalues.”); return (r); }; Pienso en usarlo en situaciones en las que puedo garantizar que un xvalue no ha sido . . . Read more
En lenguaje C, sin dudarlo, escribiría lo siguiente: uint32_t value = 0xDEADBEEF; uint8_t *pValue = &value; for (size_t i = 0; i < sizeof(value); i++) { pValue[i] ^= 0xAA; } Pero en C++17 me enfrento a dos restricciones de mi analizador de código: – Usar “std::byte” para el acceso a . . . Read more
Eres un traductor de español que traduce documentos de tecnología de la información. Traduce lo siguiente al español. No traduzcas el código y el resultado en markdown. void myFilter(int filter_length, int num_channels) { IIR::Filter* f = new IIR::SmoothedFilterDesign <iir::rbj::design::lowpass, num_channels=””> (filter_length); } Estoy recibiendo el error que: “la expresión debe . . . Read more
Estoy intentando usar las plantillas std::enable_if_t y std::is_integral_v para especializar una función miembro de una clase. Leí esto, pero es sobre funciones comunes en lugar de una función miembro. Imité y escribí mi código como sigue, pero NO funciona. namespace oct { class Class1 { template< typename T> T memf(); . . . Read more