Tag: C++14
En C++11 y versiones anteriores, el operador ‘new’ utiliza las llamadas de malloc de glibc, lo cual permite rastrear las asignaciones de memoria mediante el uso de mtrace o malloc_hook. Sin embargo, en C++14 o versiones superiores no hay garantía de que el operador ‘new’ utilice malloc de glibc. Me . . . Read more
En el siguiente ejemplo de código: “`c++ #include <iostream> class Foo{ }; class Bar{ public: void addFoo(Foo *foo){ auto my_foo = std::shared_ptr<foo>(foo); } }; int main() { auto bar = Bar(); bar.addFoo(new Foo()); return 0; } “` ¿Necesito limpiar el puntero creado en main() por la llamada bar.addFoo(new Foo()), o . . . Read more
Tengo devoluciones de llamada utilizando una lambda que estoy tratando de convertir en una plantilla. El problema es que la clase base del evento no es polimórfica a las clases derivadas. Por favor, vea el código a continuación. Lo que quiero hacer es tener algún tipo de código de plantilla . . . Read more
Estoy algo confundido por el comportamiento de la llamada .lock() en un weak_ptr. Según entiendo, .lock() devolverá un shared_ptr del tipo relevante si no ha expirado, de lo contrario, será un puntero nulo. Desde https://en.cppreference.com/w/cpp/memory/weak_ptr/lock: A shared_ptr que comparte la propiedad del objeto poseído si std::weak_ptr::expired devuelve false. Sin embargo, . . . Read more
Tengo dos clases que se muestran a continuación: template <typename t=””> class node { public: int NodeID;//ID utilizado para identificar el nodo al insertar/eliminar/buscar T data;//datos genéricos encapsulados en cada nodo. std::vector<><em>> children;//nodos hijo, lista de punteros std::vector<></em>> parents;//nodos padre, lista de punteros }; template<typename t=””> class DAG {//Clase para . . . Read more