Vale seguramente haga lo que decís uno de los 2 es de lo que había pensado creo que lo mejor, aunque prefiero más lo segundo para así no estar jugando con la heap, simplemente pasar referencias y si hay error que la propia función devuelva en consecuencia, quizás use excepciones en casos donde realmente se puedan producir errores con mucha frecuencia o así, por completar código pues nunca uso excepciones.
De todas maneras gracias, y respecto a la primera pregunta no habeis contestado, quizás no la habéis entendido porque ni yo la entiendo a veces al leerla jajaja, os pongo un ejemplo, si hay una función que recibe estos parámetros:
Supongamos que estamos formando una http request a través de esos parámetros, si por ejemplo realizamos un GET, el campo de datos (cuerpo) estará nulo, en este caso fácilmente lo comprobamos pues al hacer data.size() y ver que es 0 sabemos que no hay datos.
Pero imaginemos al contrario, tenemos una clase headers sin nada, pues esta vez no queremos incluir headers adicionales a la http request, por lo tanto hacemos:
Habrá que comprobar que headers esta vacío, recomendaríais crear un atributo que muestre si está inicializado o pasaríais un vector y lo igualaríais a NULL, aquí creo que no hay más opciones. Está vez queremos formar el mensaje con headers vacio y solo con datos, con data era fácil llamando a data.size(), pero con otra clase cualquiera ¿que opciones hay?, solo estas, yo creo que optaría por el puntero, pero eso de la heap lo odio.
Saludos.
De todas maneras gracias, y respecto a la primera pregunta no habeis contestado, quizás no la habéis entendido porque ni yo la entiendo a veces al leerla jajaja, os pongo un ejemplo, si hay una función que recibe estos parámetros:
Código (cpp) [Seleccionar]
void funcion(Properties headers, std::vector<BYTE> data)
Supongamos que estamos formando una http request a través de esos parámetros, si por ejemplo realizamos un GET, el campo de datos (cuerpo) estará nulo, en este caso fácilmente lo comprobamos pues al hacer data.size() y ver que es 0 sabemos que no hay datos.
Pero imaginemos al contrario, tenemos una clase headers sin nada, pues esta vez no queremos incluir headers adicionales a la http request, por lo tanto hacemos:
Código (cpp) [Seleccionar]
funcion(Properties(), data);
Habrá que comprobar que headers esta vacío, recomendaríais crear un atributo que muestre si está inicializado o pasaríais un vector y lo igualaríais a NULL, aquí creo que no hay más opciones. Está vez queremos formar el mensaje con headers vacio y solo con datos, con data era fácil llamando a data.size(), pero con otra clase cualquiera ¿que opciones hay?, solo estas, yo creo que optaría por el puntero, pero eso de la heap lo odio.
Saludos.