En C++, comment spécifier une valeur par défaut pour une référence de liste dans une fonction?Paramètre par défaut pour une référence de liste
void fun(
std::list<My_Object *> &the_list,
int n = 4
)
En C++, comment spécifier une valeur par défaut pour une référence de liste dans une fonction?Paramètre par défaut pour une référence de liste
void fun(
std::list<My_Object *> &the_list,
int n = 4
)
si elle est une référence simple, la seule chose que vous un défaut à un lvalue valide qui est probablement pas disponible. Mais si elle est une référence à vous const pourrait-il par défaut à une liste vide comme ceci:
void fun(
std::list<My_Object *> const & the_list = std::list<My_Object *>(),
int n = 4
)
Si vous avez une liste nommé, qui est disponible sur le site de déclaration, puis comme celui-ci
void fun(
std::list<My_Object *> & the_list = a,
int n = 4
)
, mais veillez à ce que la liste a
est toujours « vivant » lorsque vous appelez la fonction
en C++, comment pourrais-je spécifier une valeur par défaut pour une référence de liste dans un fonction?
Je ne voudrais pas, dans votre cas. Soit surcharger la fonction afin qu'elle puisse être appelée sans une liste, ou prendre l'argument par pointeur, de sorte que les utilisateurs peuvent passer un pointeur NULL
.
Je préférerais fortement la surcharge.
Quelle devrait être la valeur par défaut? –
Une liste spécifique. Je préférerais l'entrer en ligne. (Merci de corriger le balisage.) – Tim