Forma elegante de pasar múltiples argumentos a una función
Tengo una función que se ve así:
bool generate_script (bool net, bool tv, bool phone,
std::string clientsID,
std::string password,
int index, std::string number,
std::string Iport, std::string sernoID,
std::string VoiP_number, std::string VoiP_pass,
std::string target, int slot, int port,
int onu, int extra, std::string IP, std::string MAC);
En mi opinión, se ve feo. ¿Cuál es la forma correcta de manejar este problema? ¿Debo crear algunos vectores con diferentes tipos de datos (int, string y bool) y pasarlos como argumentos a esta función?