Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826

    [c++]classe aggregazione

    ciao .
    Ho il seguente xml:
    codice:
    <IfcRelAssociatesMaterial id="i1774">
       <GlobalId>3lRy_2mo55tArzbWSDKKKD</GlobalId>
    	<OwnerHistory>
    		<IfcOwnerHistory xsi:nil="true" ref="i1568"/>
    	</OwnerHistory>
    	<RelatedObjects ex:cType="set">
    		<IfcWallStandardCase pos="0" xsi:nil="true" ref="i1705"/>
    	</RelatedObjects>
    	<RelatingMaterial>
    		<IfcMaterialLayerSetUsage xsi:nil="true" ref="i1695"/>
    	</RelatingMaterial>
    </IfcRelAssociatesMaterial>
    nella classe che ho generato per fare il parsing dell xml ho:
    codice:
    class myclass
    {
       IfcWallStandardCase * pWall
       CIfcMaterialLayerSetUsage* pMaterial 
    }
    nell xml ci sono queste definizioni , tutte sotto il nodo root e mi trovo ad avere un array di myclass con tutte le associazioni wall/materiale.

    ora, dopo l'importazione e il parsing dell xml devo utilizzare queste classi , sapendo l'id del materiale(pWall->m_id) che è comune a tutte le classi CIfcWallStandardCase , e andando a prendere il pMaterial della classe CIfcMaterialLayerSetUsage relativo.
    In ogni myclass avro solo un materiale e solo un wall.
    Non mi posso basare sul fatto di avere prima il wall e dopo il materiale, l'ordine è ininfluente.
    Pensavo ad una mappa per andare a prendere il materiale dall' id del muro ma posso anche scorrere tutta la collezione delle classi myclass per trovare l'id del wall uguale tra quello che cerco e quello che è nella classe e dove è uguale andare a prendere il materiale relativo, è molto piu' lento?
    sapendo che potro avere al massimo 1000 elementi.
    voi cosa mi consigliate?
    Grazie.

  2. #2

    Re: [c++]classe aggregazione

    Originariamente inviato da giuseppe500
    è molto piu' lento?
    sapendo che potro avere al massimo 1000 elementi.
    voi cosa mi consigliate?
    Grazie.
    da http://www.sgi.com/tech/stl/Map.html
    Map is a Sorted Associative Container
    e da http://www.sgi.com/tech/stl/SortedAs...Container.html
    Sorted Associative Containers guarantee that the complexity for most operations is never worse than logarithmic [1], and they also guarantee that their elements are always sorted in ascending order by key.
    e Log (1000) = 3.
    La scelta è d'obbligo non credi?
    ;-)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.