Maison >développement back-end >C++ >Comment puis-je renvoyer en toute sécurité des tableaux locaux en C sans avertissement ?
Renvoi de tableaux locaux en C : éviter les avertissements
Le retour de tableaux locaux en C peut déclencher un avertissement du type "adresse de retour d'une variable locale ou temporaire ". Pour résoudre ce problème, envisagez une approche alternative qui atténue cet avertissement :
Utilisation de std::vector
En C , en utilisant std::vector En utilisant std::vector Accès à char* si nécessaire Si vous nécessitent un char* pour la compatibilité de l'API C, vous pouvez y accéder avec &reply[0]. Par exemple : Cela vous permet d'utiliser std::vector tout en continuant à vous connecter aux API C qui nécessitent des paramètres char*. Avantages d'éviter new L'emploi de std::vector évite l'utilisation de new, qui a les éléments suivants avantages : Conclusion Utilisation std::vecteur Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!std::vector<char> recvmsg()
{
std::vector<char> buffer(1024);
//..
return buffer;
}
int main()
{
std::vector<char> reply = recvmsg();
}
void f(const char* data, size_t size) {}
f(&reply[0], reply.size());