Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [C++] verifica oggetto

  1. #1
    Utente di HTML.it L'avatar di brumac
    Registrato dal
    Jul 2003
    Messaggi
    187

    verifica oggetto

    Salve, ho un problema.

    VOlevo sapere se in c++ esiste una funzione che prende per parametro un puntatore ad un oggetto, e restituisce true o false, rispettivamente se l'oggetto è stato istanziato oppure no.

    Grazie

  2. #2
    Utente di HTML.it L'avatar di Angioletto
    Registrato dal
    Jan 2004
    Messaggi
    1,246
    Spero di non dire una "cassanata"..
    Cmq in c++ un puntatore viene automaticamente istanziato a null.
    Quindi se p è un puntatore ad un oggetto:

    if(p) {};

    ° Viene eseguito il corpo dell'if se il puntatore è diverso da null, cioè se effettivamente contiene un indirizzo di memoria..

    ° in caso contrario, ovvero se p punta ancora a null, non si fa niente.

    La funzione potrebbe essere implementata così:

    bool nome_funzione ( nome_oggetto* p) {
    if(p) cout << "Oggetto istanziato..\n\n";
    else cout << "Oggetto non presente in memoria..\n\n":

    }


    Solo una cosa non ho compreso..come fai a prendere per parametro un puntatore ad un oggetto non istanziato??Non dovrebbe segnarti un errore al tempo di compilazione??

    Infatti quello che ti ho proposto rispecchiano grossomodo le verifiche che si fanno in una generica Lista per verificare se è vuota, ma non ho mai avuto modo di verificare l'esistenza o meno della lista!!proprio non riesco a immaginare un problema simile..

    Spero di esserti stato di aiuto!!!

    Ciao!
    Per liquidare un popolo si comincia con il privarli della memoria.Si distruggono i loro libri, la loro cultura, la loro storia. E qualcun’ altro scrive loro altri libri, li fornisce di un’altra cultura, inventa per loro un’altra storia. (Milan Kundera)

  3. #3
    Utente di HTML.it L'avatar di pixer
    Registrato dal
    Oct 2000
    Messaggi
    614
    Originariamente inviato da Angioletto
    Spero di non dire una "cassanata"..
    Cmq in c++ un puntatore viene automaticamente istanziato a null.
    No. Lo devi istanziare esplicitamente a null.

    Riguardo al controllo con if, va benone.
    MySQL Worker - The OpenSource Multiplatform MySQL database Administrator (C++ powered)
    .:[ It resumes the development !! ]:.


  4. #4
    Utente di HTML.it L'avatar di Angioletto
    Registrato dal
    Jan 2004
    Messaggi
    1,246
    Meno male!!Ogni tanto faccio cose buone!!

    Ora, sperando di non andare un pò OT, ho rivisto un attimino i puntatori.
    Se definiti come variabili globali (e quindi se allocati in area dati), vengono automaticamente inizializzati a null: ho provato e stampando il loro valore ottengo sempre 0x0..
    Altrimenti il loro valore è imprecisato..

    Cmq è bene fare come dici tu: inizializzarli sempre così da non avere problemi!!!

    Ciao!!
    Per liquidare un popolo si comincia con il privarli della memoria.Si distruggono i loro libri, la loro cultura, la loro storia. E qualcun’ altro scrive loro altri libri, li fornisce di un’altra cultura, inventa per loro un’altra storia. (Milan Kundera)

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.