Die Beziehung zwischen const_multi_array_ref
, multi_array_ref
multi_array
und ist wie folgt:Warum ist Destruktor von `boost :: multi_array_ref` nicht virtuell?
multi_array_ref
vonconst_multi_array_ref
multi_array
abgeleitet ist jedoch vonmulti_arry_ref
abgeleitet wird, sind die Destruktoren von const_multi_array_ref
und multi_array_ref
nicht- virtuell. Tatsächlich haben sie keinen explizit implementierten Destruktor. Nur multi_array
hat eine Eins. Bedeutet dies, dass die folgende Verwendung nicht empfohlen wird?
multi_array_ref<float, 2> * = new multi_array<float, 2>(extents[3][3]);
Wenn ja, warum?
vermeiden Sie bitte die Verwendung von Zeigern in Boost. Boost wurde hauptsächlich entwickelt, um die Verwendung von Smartpointern zu nutzen –