Torna indietro   Hardware Upgrade Forum > Software > Programmazione

GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Laptop insieme per giocare al giusto prezzo
GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Laptop insieme per giocare al giusto prezzo
Il Gigabyte Gaming A16 offre un buon equilibrio tra prestazioni e prezzo: con Core i7-13620H e RTX 5060 Laptop garantisce gaming fluido in Full HD/1440p e supporto DLSS 4. Display 165 Hz reattivo, buona autonomia e raffreddamento efficace; peccano però le USB e la qualità cromatica del pannello. Prezzo: circa 1200€.
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
C'è tanta sostanza nel nuovo smartphone della Mela dedicato ai creator digitali. Nuovo telaio in alluminio, sistema di raffreddamento vapor chamber e tre fotocamere da 48 megapixel: non è un semplice smartphone, ma uno studio di produzione digitale on-the-go
Intel Panther Lake: i processori per i notebook del 2026
Intel Panther Lake: i processori per i notebook del 2026
Panther Lake è il nome in codice della prossima generazione di processori Intel Core Ultra, che vedremo al debutto da inizio 2026 nei notebook e nei sistemi desktop più compatti. Nuovi core, nuove GPU e soprattutto una struttura a tile che vede per la prima volta l'utilizzo della tecnologia produttiva Intel 18A: tanta potenza in più, ma senza perdere in efficienza
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-07-2007, 21:38   #1
tglman
Senior Member
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
[c++] typeid e tipi semplici

Domanda semplice (nn troppo ):

se io ho un funzione tipo:
Codice:
void fun1(void * par)
{
......
}
posso all'interno del corpo della funzione determinare se il puntatore passato per parametro punti ad un tipo semplice(int,char, long,double) e specificamente a quale?

io con typeid n sono stato in grado
tglman è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2007, 22:22   #2
Cif
Member
 
L'Avatar di Cif
 
Iscritto dal: Oct 2002
Città: Vicenza
Messaggi: 194
Io con le gerarchie di classi uso i dynamic_cast, ma non ho mai dovuto usarli con i tipi semplici.
Cif è offline   Rispondi citando il messaggio o parte di esso
Old 25-07-2007, 09:24   #3
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Quote:
Originariamente inviato da tglman Guarda i messaggi
posso all'interno del corpo della funzione determinare se il puntatore passato per parametro punti ad un tipo semplice(int,char, long,double) e specificamente a quale?
No
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 25-07-2007, 11:44   #4
tglman
Senior Member
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
Grazie per la risposta ....

Adesso è un problema concettuale se io avrei bisogno di fare una funzione tipo quella descritta devo implementare degli oggetti Wrapper di tipi semplici??

magari tutti che estendono una classe "marker"?
in modo da aver:
Codice:
void fun1(Type *type)
{
......
}
per poi effettuare all'interno dei typeid con i tipi wrapper..

Giusto?
tglman è offline   Rispondi citando il messaggio o parte di esso
Old 25-07-2007, 11:54   #5
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
C'è qualche motivo per cui non puoi risolvere il tuo problema con un pò di polimorfismo (o con un pizzico di template)?
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 25-07-2007, 13:52   #6
tglman
Senior Member
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
Allora spiego il mio problema in preciso io ho bisogno di avere un semplice metodo che imposta il valore su di una classe....
Il valore però può essere di qualsiasi tipo semplice, e nn mi andava di implementare un metodo per ogni tipo!
Quindi avevo pensato di scrivere il metodo con per parametro "void *" ma avidentemente nn può funzionare, ed adesso pensavo di definire una classe Type base e una serie di classi derivate tipo: Bool,Long,Double per poi passare al metodo un putatore "Type *" in questo modo riesco ad usare typeid per determinare la classe derivate correttamente!

vi sembra giusto ?

Con i template nn saprei che fare .... se avete un'idea ditemela

Ultima modifica di tglman : 25-07-2007 alle 13:56.
tglman è offline   Rispondi citando il messaggio o parte di esso
Old 25-07-2007, 14:06   #7
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Quote:
Originariamente inviato da tglman Guarda i messaggi
Quindi avevo pensato di scrivere il metodo con per parametro "void *" ma avidentemente nn può funzionare, ed adesso pensavo di definire una classe Type base e una serie di classi derivate tipo: Bool,Long,Double per poi passare al metodo un putatore "Type *"
E' un modo; oppure puoi usare una classe template (oppure la tua stessa funzione può essere un template)

Quote:
in questo modo riesco ad usare typeid per determinare la classe derivate correttamente!
Non vedo la necessità morbosa di usare il typeid...
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Laptop insieme per giocare al giusto prezzo GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Lapt...
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile iPhone 17 Pro: più di uno smartphone. &Eg...
Intel Panther Lake: i processori per i notebook del 2026 Intel Panther Lake: i processori per i notebook ...
Intel Xeon 6+: è tempo di Clearwater Forest Intel Xeon 6+: è tempo di Clearwater Fore...
4K a 160Hz o Full HD a 320Hz? Titan Army P2712V, a un prezzo molto basso 4K a 160Hz o Full HD a 320Hz? Titan Army P2712V,...
Questo è il nuovo motore elettric...
HUAWEI WATCH GT 6: lo smartwatch 'infini...
Fotografia con AI: ecco Caria, la macchi...
PlayStation 6 vs Xbox Magnus: il rumor s...
DJI Osmo Action 4 a soli 208€ su Amazon:...
Irion, la data governance diventa strate...
EHang VT35: debutta in Cina il nuovo aer...
Cooler Master MasterLiquid Atmos II 360:...
Trapela in rete la roadmap dei nuovi gio...
In Germania la prima centrale solare gal...
Iliad lancia TOP 250 PLUS e TOP 300 PLUS...
UE: nuovi standard per i caricabatterie,...
Fine supporto Windows 10: breve guida pr...
Cyber Arena Tour: WINDTRE BUSINESS porta...
Addio Microsoft Word: la Cina sceglie WP...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 15:07.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v