OVH Cloud OVH Cloud

default value et Constructeurs

12 réponses
Avatar
Beubeu
Bonjours,

j'ai besoin d'avoir un vector vide par defaut dans un constructor.
Ai-je le droit de faire un truc comme ca (ca compile avec VC++ mais je
prefere etre sur...)?

A::A(std::vector<B*>& b = std::vector<B*>());

Si oui, est-ce une bonne solution?
Sinon, quelle est la solution?

Merci d'avance,
Benoit

2 réponses

1 2
Avatar
James Kanze
Fabien LE LEZ writes:

|> On 08 May 2004 21:07:20 +0200, James Kanze wrote:

|> >Tu lis trop de livres:-). D'après mes expériences, passer un
|> >paramètre en référence non const signifie le plupart du
|> >temps que l'auteur ne connaît pas le const.

|> Mais dans ce cas, est-ce que ça vaut vraiment le coup de
|> continuer à lire le code ?..

Ce que ça vaut dépend du contrat. Si je suis payé assez pour
maintenir de tel code, ça vaut le coup, oui:-).

Dans la pratique, tout dépend. Ce que j'ai essayé à signaler,
c'est qu'il y a bien une lacune fréquente d'éducation à
l'égard de const, je ne sais pas trop pourquoi. La plupart des
développeurs ne sont pas des spécialistes C++, qui passe leur
temps à étudier le langage -- c'est un outil, dont ils apprenent
assez pour s'en servir, et c'est tout. Je ne m'attends donc pas qu'ils
connaissent toutes les subtilités. (Je ne les connais pas
moi-même, d'ailleurs.) Mais AMHA, il ne s'agit pas ici d'une
subtilité, mais d'un idiome de base. Alors, j'ai du mal à
comprendre pourquoi c'est si souvent ignoré, mais je constate qu'il
l'est. Y compris par certains programmeurs bien compétents par
ailleurs.

--
James Kanze mailto:
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France +33 1 41 89 80 93
Avatar
Gabriel Dos Reis
James Kanze writes:

[...]

| |> Passer un paramètre en référence non constante, au
| |> contraire, indique (généralement) que la fonction va modifier
| |> le paramètre
|
| Tu lis trop de livres:-). D'après mes expériences, passer un
| paramètre en référence non const signifie le plupart du temps
| que l'auteur ne connaît pas le const.

J'en déduis que dans tes expériences, tu n'écris pas ou ne rencontres
pas de fonctions de formattage qui prennent des flux en paramètres ;-)

-- Gaby
1 2