Hacía tiempo que no usaba C. Y estoy en un proyecto en el que estoy trabajando en una API en C++. La mayoría de estos métodos son solo C de todos modos, y todos los valores devueltos son estructuras C. Excepto uno. Un método que necesito para devolver un vector<string>
. Ahora esta es mi pregunta. ¿Los métodos/bibliotecas/C++ de C++ son accesibles desde C? Lo pregunto porque no sé si las personas que usan la API van a escribir en C o C++, y creo que debería devolver solo las estructuras en C. Eso requeriría que devuelva un char**
, ¿verdad?llamando a los métodos C++ desde C
espero que tenía sentido, si no:
tl; versión dr - ¿Puedo llamar a un C método ++ de C si se devuelve una estructura C, y si es así es la mejor (sólo?) Valor de retorno equivalente de vector<string>
->char**
?
Actualización: Los métodos C++ son simplemente métodos globales. No hay clases u objetos orientados a objetos en ellos. Lo ÚNICO que es específico de C++ además de mi pregunta de vector es unos pocos stringstreams
¿Por qué no utilizar una estructura para mantener la longitud de la cuerda, también? Salvará al usuario C, que aplica todas las cuerdas cuando ya se conoce la longitud. – Puppy
@DeadMG: No presumas saber qué hará el usuario con sus datos. Puede incurrir en penalidad de rendimiento sin ningún motivo. Es posible que ni siquiera sean cadenas de texto. –
@Michael: No use _t, esto reservado por POSIX. –