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

    [c++] templates e weak typing

    ciao , leggendo un libro sul c++ in particolare un capitolo sui template ho letto questo "weak typing" riporto parte del capitolo(il libro è thinking in c++ cap16)che non ho capito completamente ,ancora un po' arranco con l'inglese:
    Notice that a template makes certain assumptions about the objects
    it is holding. For example, StackTemplate assumes there is some
    sort of assignment operation for T inside the push( ) function. You
    could say that a template “implies an interface” for the types it is
    capable of holding.
    Another way to say this is that templates provide a kind of weak
    typing mechanism for C++,

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    In sostanza dice che il template non sapendo con che cosa abbia a che fare, da per scontato che il tipo contenuto riesca a gestire alcune operazioni.
    Finchè sono tipi base (int, char, etc..., e in una certa misura, puntatori) non ci sono problemi.
    Quando invece sono oggetti le cose cambiano.
    Un oggetto può essere costruibile per copia ma non assegnabile (o viceversa), può non avere un costruttore di default, può non avere un operatore di confronto o "minore di" o "maggiore di".
    In quel caso il compilatore segnala errore.

    In linea generale un oggetto dovrebbe comportarsi come un tipo base, ridefinendo gli operatori in caso siano usati dal template.
    Nel caso specifico, nel codice appena sopra quelle righe, il template non sa con cosa verrà istanziato. Se fosse un int non ci sarebbero problemi, ma se fosse un oggetto deve avere l'operatore di assegnazione pubblico (può essere anche quello di default, però se l'oggetto contiene raw_pointer occorre esplicitare l'operatore per gestire la situazione) e il costruttore di default.
    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 © 2026 vBulletin Solutions, Inc. All rights reserved.