es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tag: C++17

Puntero a objeto constante con emplace_back

No entiendo cuándo se pueden usar variables/objetos const en colecciones (particularmente con emplace). El siguiente código funciona con objetos const directamente, pero no cuando se usan punteros a objetos const. “`c++ #include <list> class MyData { }; int main() { std::list<><int, mydata="">> collection1{}; std::list<><int, mydata*="">> collection2{}; <pre><code>const MyData someData{}; const . . . Read more

Implementar un rasgo de tipo para una plantilla de clase que sea verdadero para la plantilla de clase actual y para las clases que la hereden.

Tengo una plantilla de clase tipo tupla como esta: template<class… t=””> struct Foo {} Ahora necesito implementar algo así: template<class t=””> void bar (const T&t) { if constexpr (IsFoo<T>::value) // trátalo como Foo else // una solución genérica } IsFoo puede implementarse de manera directa así: template <class t=””> struct . . . Read more

¿Por qué std::string no tiene un constructor que tome directamente std::string_view?

Para permitir la construcción de std::string a partir de std::string_view, existe un constructor de plantilla: cpp template<class T> explicit basic_string(const T& t, const Allocator& alloc = Allocator()); que solo se habilita si const T& es convertible a std::basic_string_view<CharT, Traits> (enlace). Mientras tanto, hay una guía de deducción especial para deducir . . . Read more

¿Cómo usar Boost::log para no reescribir el archivo de registro?

A continuación se muestra un ejemplo simple de cómo usar boost::log para escribir un registro: #include <boost/log/trivial.hpp> namespace logging = boost::log; logging::add_file_log(“sample.log”)->set_filter( logging::trivial::severity >= logging::trivial::info ); BOOST_LOG_TRIVIAL(info) << “contenido del registro”; Cada vez que se ejecuta “logging::add_file_log(“sample.log”)”, se reescribe el archivo de registro –se borra el contenido original y se . . . Read more