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

    [c++]classe statica vs singleton

    Ciao.
    Devo rendere comune a tutte le classi del mio progetto una classe.
    E' una classe CSkeleton utilizzata per la skeleton animation , ha una collection di bones (ossa) con relative animazioni.
    Vorrei condividerla senza doverla ricreare per tutti i modelli(skinned mesh) che la utilizzano dato che è la stessa, in modo che si possano creare tutti i modelli che si vogliono in modo semplice e risparmiando risorse.
    Ho due(credo) possibilità:
    1)classe statica
    2)singleton
    Shodan mi ha detto che il singleton è rognosetto in ambito multithreading , per adesso non mi importa , ma vorrei capire cosa è meglio.
    invece la classe statica che problemi si va in contro?

    Il mio problema è :
    se una classe è statica tutte le variabili devono essere dichiarate statiche ?
    Ad es devo poter inserire un CBone dall'interno di una classe non statica, nella collezione della classe CSkeleton deve essere statico anche quel bone?
    insomma come "si mischiano" le variabili statiche con quelle non statiche?
    per intenderci , come faccio a evitare quest'errore?
    Error 2 error C2352: 'CSkeleton::GetBone' : illegal call of non-static member function c:\programmazione\old2\old\wild magic 4\geometrictools\wildmagic4\samplegraphics\materia ltextures\skeleton.cpp 47

    grazie.

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Che intendi con classe statica?
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    ciao shodan , mi sono sbagliato, intendevo una classe con metodi statici publici.
    Ho visto che si possono usare anche i namespaces, tu cosa mi consigli?

  4. #4
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Una funzione statica di una classe non ha il puntatore this come le funzioni membro, quindi dal punto di vista pratico è uguale a qualsiasi altra funzione.
    Quello che cambia è che tale funzione statica può essere invocata solo se preceduta dal nome della classe, mentre una funzione contenuta in un namespace può essere invocata esplicitamente anteponendo il nome stesso del namespace, oppure senza se si usa using namespace ....
    Quindi usare classi con solo metodi statici o delle funzioni in namespace è identico.

    Così a naso, senza sapere come hai strutturato il programma, io andrei di singleton senza troppi problemi.
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.