Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
La nuova Insta360 X6 introduce sensori Sony da 1/1.1" e un SoC Triple AI a 4nm. Analizziamo le riprese 8K, il primo Dolby Vision nativo a 10-bit nel settore sferico e l'innovativo flusso di lavoro diretto sulla futura versione 22 di DaVinci Resolve.
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli
Dopo due settimane trascorse al volante della Dacia Spring 2026 possiamo raccontarvi tutto, dalle novità di motore e batteria, fino ai consumi in tutti le situazioni, compresa l'autonomia reale ad alta velocità
AORUS GeForce RTX 5080 INFINITY WOOD 16G: una scheda video diversa dalle altre
AORUS GeForce RTX 5080 INFINITY WOOD 16G: una scheda video diversa dalle altre
Abbiamo messo alla prova la nuova AORUS GeForce RTX 5080 INFINITY WOOD 16G, una delle interpretazioni più particolari della GPU NVIDIA Blackwell. Prestazioni, frequenze operative, temperature, consumi e margini di overclock sono stati confrontati con altre RTX 5080 custom e con la Founders Edition. Il design in legno è solo uno degli elementi distintivi di una scheda che punta a ritagliarsi uno spazio nella fascia più alta del mercato.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 05-06-2007, 22:34   #1
Dark Phoenix
Member
 
L'Avatar di Dark Phoenix
 
Iscritto dal: May 2007
Città: Roma
Messaggi: 93
C: tipo di ritorno, funzione

Vi chiedo aiuto!
è una vita che cerco questa cosa ma non la trovo da nessuna parte....

Vorrei, per pulizia di codice, far tornare come tipo di ritorno e sottolineo come tipo di ritorno un bel puntatore ad una funzione ma non ci riesco e non ne conosco la sintassi corretta.
Logicamente non voglio far tornare da una procedura un puntatore a void per poi fare il cast... sapete per caso come si può fare?

negli argomenti una funzione la possiamo definire così void (*nome_funz) (parametri) ma nel tipo di ritorno come si può fare?

PS.
non ho detto il linguaggio... logicamente come da titolo è il C
Dark Phoenix è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2007, 23:05   #2
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Puoi dichiarare un tipo, genere:

typedef void (*fun)(int);

e poi usare quello come tipo restituito dalla funzione che restituisce una funzione:

fun getFun() { ... }

Credo si possa fare anche senza typedef ma è più che altro un sospetto perchè l'esatta sintassi al momento mi sfugge.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 06-06-2007, 11:05   #3
Dark Phoenix
Member
 
L'Avatar di Dark Phoenix
 
Iscritto dal: May 2007
Città: Roma
Messaggi: 93
Si ripiegherò sul tipedef comunque se qualcuno dovesse trovare come si scrive metta in risalto

ehm.... lo metta in risalto qui
Dark Phoenix è offline   Rispondi citando il messaggio o parte di esso
Old 06-06-2007, 11:18   #4
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Ecco un esempio senza usare typedef:
Codice:
#include <stdio.h>

void myfunc (int a)
{
    printf ("%d\n", a);
}

void (*getFunc(void)) (int)
{
    return myfunc;
}

int main (void)
{
    void (*f)(int);

    f = getFunc ();

    f (123);

    return 0;
}
Comunque è molto meglio usare typedef.
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 06-06-2007, 13:21   #5
Dark Phoenix
Member
 
L'Avatar di Dark Phoenix
 
Iscritto dal: May 2007
Città: Roma
Messaggi: 93
Si effettivamente risulta un po troppo criptico e quindi poco manutenibile

Seguirò il consiglio
grasssie
Dark Phoenix è offline   Rispondi citando il messaggio o parte di esso
Old 06-06-2007, 13:29   #6
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2793
Giusto per curiosità... a che serve fare una cosa del genere? Che applicazioni ha?
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 06-06-2007, 13:34   #7
Dark Phoenix
Member
 
L'Avatar di Dark Phoenix
 
Iscritto dal: May 2007
Città: Roma
Messaggi: 93
Beh ho una applicazione che per struttura deve utilizzare il design pattern Command, che in C ho implementato rilasciando dinamicamente un puntatore ad una funzione
Dark Phoenix è offline   Rispondi citando il messaggio o parte di esso
Old 06-06-2007, 13:47   #8
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da wingman87 Guarda i messaggi
Giusto per curiosità... a che serve fare una cosa del genere? Che applicazioni ha?
L'obiettivo dei puntatori a funzione è concettualmente abbastanza semplice: poter trattare una funzione come se fosse una variabile che può essere assegnata, passata, restituita, ecc....

Il concetto quindi è quello di avere un tipo di dato che possa rappresentare, per dirla in modo semplice, un "comportamento".

Nel mio esempio sopra, getFunc ritorna sempre lo stesso puntatore a funzione. Ora immagina che ci siano più funzioni (che fanno cose diverse/in modo diverso) con lo stesso prototipo e che getFunc determini quale di queste ritornare in base ad altre condizioni.
Questo il main() non lo sa, riceve solamente un puntatore a funzione ("un comportamento") che poi utilizza.

Se non è chiaro, posso spiegare con un esempio.
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing" Insta360 X6: Dolby Vision, 8K e montaggio "...
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli Due settimane con Dacia Spring 2026: novit&agrav...
AORUS GeForce RTX 5080 INFINITY WOOD 16G: una scheda video diversa dalle altre AORUS GeForce RTX 5080 INFINITY WOOD 16G: una sc...
Hyundai Ioniq 9: dopo due settimane di test non avremmo voluto restituirla Hyundai Ioniq 9: dopo due settimane di test non ...
LG UltraGear evo GM9: 27 pollici, 5K, Mini LED e Dual Mode LG UltraGear evo GM9: 27 pollici, 5K, Mini LED e...
La NASA sta costruendo e provando i dron...
Northrop Grumman utilizzerà HALO ...
Anthropic prepara l'IPO dei record: gli ...
La beta di iOS 27 conferma i rumor, Appl...
HONOR esagera, il prossimo smartphone av...
L'edizione speciale della Switch 2 per i...
Taiwan, il primo attacco hacker AI auton...
The Lord of the Rings: War in the North ...
I prezzi delle RTX 50 continuano ad aume...
La prossima crisi riguarderà i pannelli ...
Terabyte di dati trafugati: un attacco a...
Volo Delta 591, spunta un Wi-Fi che imit...
La scienziata lancia l'allarme: l'intell...
BYD Denza N8 e la super batteria: 130 kW...
Trump autorizza le aziende private a hac...
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: 03:49.


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