Page 1 of 1

type du retour des opérations et dépendances associées

PostPosted: Thu 3 Jan 2013 09:23
by Teaniel
Bonjour,

Je me permets de revenir vers vous pour la chose suivante :
En c++11, le compilateur n'a plus besoin de la déclaration complète de la classe des objets passés et retournés par valeur par les opérations (c'est cohérent avec la notion de copie par déplacement, et avec le fait qu'en réalité ces transmissions se font par adresse maintenant) :
Code: Select all
class A;
class B {
    A fonction(); // légal en c++11 avec un simple forward pour A.
    void fonct( A a ); // également légal avec un simple forward
};
Par conséquent, lors de la génération, il n'est plus nécessaire (pour ma part je le déconseillerais même) de placer la dépendance vers A dans le fichier entête.
Serait-il possible de rendre cela paramétrable (je crois que dans les versions précédentes de c++ il fallait une déclaration complète, et par conséquent, je pense qu'il n'est pas possible d'avoir un comportement implicite)?

Vous remerciant de bien vouloir accéder à ma demande,
Cordialement,
Marc

Re: type du retour des opérations et dépendances associées

PostPosted: Sun 6 Jan 2013 15:13
by Bruno Pagès
Bonjour,

Vous avez déjà fait cette demande (indépendamment de C++11) dans la discussion Génération des liens de dépendance sous C++, et je l'ai implémenté dans la version 6.3 comme vous pouvez le voir dans l'historique.

Mais pour l'activer il faut décocher a type used by value in an operation profile forces its include in header en éditant les options de génération onglet C++[1].

Re: type du retour des opérations et dépendances associées

PostPosted: Mon 7 Jan 2013 02:32
by Teaniel
Boujour,

Un gros Oups alors.
Toutes mes excuses pour cette demande inutile.

Cordialement,
Marc