IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SL & STL C++ Discussion :

Projet STL.NET pour le c++\cli


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 39
    Par défaut Projet STL.NET pour le c++\cli
    Bonjour,

    J'ai déjà évoqué ce sujet sur le forum .NET, mais l'utilisation de la STL en C++ managé ne semble pas passionner les foules.

    Voilà, j'ai surtout codé en c++ jusqu'ici, et tout ce que je fais utilise beaucoup la stl, ou son mode de fonctionnement. (algorithmes pas paires d'itérateurs etc)

    Je dois intégrer du code que j'ai fait dans une librairie codée dans le framework .NET (oui, je ne suis pas fan non plus) et j'ai donc simplement compilé mes sources en mode \clr pour disposer des sources.

    Pour l'instant, quand je veux appeler un de mes algo sur un "conteneur" du framework, je dois copier tout le conteneur dans un conteneur standard avant de l'appeler sur ce conteneur. Evidemment, c'est un peu frustrant quand on a fait tant d'efforts pour avoir un code efficace...

    J'essaie de coder une classe vérifiant le concept d'un RandomAccesIterator, permettant d'accéder à un par exemple, mais l'opérateur [] du cli::array ne renvoie pas de vraie référence mais une référence managée.

    Pour l'instant, il semble que les différentes voies semblent être :
    - pin_ptr pour retrouver une vraie référence
    - utilisation de l'implémentation STL.NET qui accepte les référence managées.

    Le but pour moi est de ne surtout pas toucher aux sources codée en c++ iso en les poluant avec du c++\cli.

    Une idée ?

  2. #2
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Et si tu te débrouillais pour encapsuler dans des itérateurs ayant une allure d'itérateurs standards tes accès aux conteneurs managés ? Les références managées & compagnie se verraient alors gérées en interne et ainsi à l'appel d'algo de la STL tu fournis des itérateurs ayant une interface identique à ceux usuels de la STL mais accédant eux à du managé.

    C'est possible ou pas ? Je ne connais pas des masses .NET.

  3. #3
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 39
    Par défaut Iterator sur conteneur managé
    C'est bien ce que j'ai commencé à faire, mais il y a pleins de limitations :
    On ne peut pas faire de référence ou de pointeur sur un objet managé (que des références managées ou des pointeurs managés.)
    Je voulais conourner celà en utilisant les
    typedef value_type % reference
    typedef value_type ^ pointer
    au lieu de
    typedef value_type & reference
    typedef value_type * pointer

    etc...

    Mais bon, je me heurte à d'autres difficultés.
    C'est pour ça que je me demandais si quelqu'un avait déjà fait ça avant moi.

    S.

Discussions similaires

  1. Réponses: 0
    Dernier message: 05/04/2011, 14h35
  2. Migration projet ASP.NET 2.0 pour ASP.NET AJAX
    Par nicO1077 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 19/12/2008, 10h10
  3. probleme en visual studio 2003 pour création de nouveau projet ASP.net
    Par magui_laurene dans le forum Visual Studio
    Réponses: 5
    Dernier message: 13/04/2008, 03h04
  4. Reference COM, .Net pour projet VB
    Par kaskarot dans le forum VB.NET
    Réponses: 2
    Dernier message: 05/01/2007, 16h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo