AldoBaldo (Member)
Guru
Messaggi: 705
Iscritto: 08/01/2015
|
Ah, quella! Di solito ci arrivo con il menu Start=>Esegui..., che è poi la stessa cosa.
L'ho fatto, parte la classica console tipo DOS che snocciola una quantità di testo (illeggibile, vista la velocità fulminea) e si richiude immediatamente. Penso che neppure un X-Man riuscirebbe a leggere a quella velocità. Comunque direi che dovrebbe essere irrilevante: la versione sarà 4.7.1, no? E comunque ormai ho risolto col test che ho messo insieme con le vostre informazioni, quindi non ho più bisogno di saperlo. Certo, rimane la curiosità fine a se stessa, ma posso conviverci.
Edit: no, non posso conviverci... infatti un paio di giorni dopo ho dovuto riprendere la questione e, in effetti, usando cmd e dopo indicando i dovuti percorsi e nome dell'eseguibile ho scoperto che... la versione è veramente 4.7.1. Be', comunque ho imparato un altro dettaglio. Un ulteriore grazie a lumo e TheDarkJuster (in ordine alfabetico ).
Ultima modifica effettuata da AldoBaldo il 01/10/2015 alle 8:25
ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti. |
|
()
Newbie
Messaggi:
Iscritto:
|
Non hai capito ... Nella finestra esegui devi scrivere cmd
Poi si apre la finestra nera del dos in cui otterrai la versione
|
|
lumo (Member)
Expert
Messaggi: 449
Iscritto: 18/04/2010
|
Ultima modifica effettuata da lumo il 30/09/2015 alle 13:09 |
|
AldoBaldo (Member)
Guru
Messaggi: 705
Iscritto: 08/01/2015
|
Questa del nothrow non l'avevo mai notata! Grazie per averla evidenziata. Ho preso nota anche se, hai ragione, non credo che userò mai quella caratteristica. Potrei farci un pensierino se fosse prevista una istruzione che modificasse una volta e per tutte nel programma il comportamento di new, ma dovere ad ogni chiamata specificare che si vuole l'opzione nothrow mi sembra davvero poco allettante, anche nel caso in cui uno apprezzasse la restituzione di puntatori NULL.
ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti. |
|
TheDarkJuster (Member)
Guru^2
Messaggi: 1620
Iscritto: 27/09/2013
|
Postato originariamente da AldoBaldo:
Questa del nothrow non l'avevo mai notata! Grazie per averla evidenziata. Ho preso nota anche se, hai ragione, non credo che userò mai quella caratteristica. Potrei farci un pensierino se fosse prevista una istruzione che modificasse una volta e per tutte nel programma il comportamento di new, ma dovere ad ogni chiamata specificare che si vuole l'opzione nothrow mi sembra davvero poco allettante, anche nel caso in cui uno apprezzasse la restituzione di puntatori NULL. |
E' per questa ragione che, anche se non credo esistano più, ho visto librerie "standard" con il nothrow "incorporato".......... |
|
()
Newbie
Messaggi:
Iscritto:
|
Postato originariamente da TheDarkJuster:
E' per questa ragione che, anche se non credo esistano più, ho visto librerie "standard" con il nothrow "incorporato".......... |
Che vuoi dire con "incorporato"??
Fa parte tutto dello standard C++. Il comportamento normale prevede l'eccezione ma il nothrow è previsto dallo standard e se vuoi puoi usarlo.
|
|
TheDarkJuster (Member)
Guru^2
Messaggi: 1620
Iscritto: 27/09/2013
|
è come se il nothrow fosse sempre presente senza poterlo levare...... Sono state compilate così. Non chidermi perchè, ma c'erano versione modificate (da terzi) della libreria standard compresa con clang (molto probabilmente modificata e) compilata in quello strano modo.
|
|
lumo (Member)
Expert
Messaggi: 449
Iscritto: 18/04/2010
|
Postato originariamente da AldoBaldo:
Questa del nothrow non l'avevo mai notata! Grazie per averla evidenziata. Ho preso nota anche se, hai ragione, non credo che userò mai quella caratteristica. Potrei farci un pensierino se fosse prevista una istruzione che modificasse una volta e per tutte nel programma il comportamento di new, ma dovere ad ogni chiamata specificare che si vuole l'opzione nothrow mi sembra davvero poco allettante, anche nel caso in cui uno apprezzasse la restituzione di puntatori NULL. |
Se proprio vuoi divertirti in realtà potresti, ti è sufficiente fare l'overload di ::operator new.
In questo modo potresti liberarti dell'eccezione, anche se a dire il vero non sarebbe questo il suo scopo. Il comportamento dovrebbe rimanere indifferente (ossia se c'è un errore deve lanciare bad_alloc), ti permette però di utilizzare un pool di memoria custom (e anche qui magari sarebbe meglio usare i container, in molti casi
http://en.cppreference.com/w/cpp/memory/new/operator_new |
|