2015-12-05 13 views
5

Nel seguente numero C++ Going native video,
si menziona una funzione di linguaggio denominata "vincolo strutturale".Dov'è la proposta sul "legame strutturale"?

Ho avuto una volta referred in questo concetto come "destrutturazione" (accesso di uno sfondo javascript).

La funzione consentirà agli utenti di acquisire più valori di ritorno senza dover utilizzare std::tie o specificare i tipi.

Esempio:

std::map<std::string,int> table; 
auto { cursor, inserted } = table.insert({"hello",0}); 

Dove posso trovare questa proposta, e monitorare i suoi progressi?

+0

[P0144R0] (http://wg21.link/P0144R0). Anche una proposta in competizione - [P0151R0] (http://wg21.link/P0151R0). E sono abbastanza sicuro che questo è fuori tema ... –

+0

Stavo cercando "strutturale". Grazie. @ T.C. Quindi sono sicuro che SO sarà veloce a chiuderla. –

+0

Credo che questo sia marginalmente in discussione, credo che una riformulazione si concentri maggiormente sullo stato di questa proposta rispetto a dove migliora la domanda. –

risposta

12

La proposta a cui si fa riferimento è P0144R0: Structured Bindings. Lo post-Kona mailing elenca questo documento come in Evolution Working Group. Non è coperto nell'attuale Evolution Working Group(EWG) active issue list e Nicol Bolos sottolinea che l'elenco delle edizioni attive EWG non è stato aggiornato per Kona. Una volta visualizzato nell'elenco attivo EWG, puoi monitorare la proposta rintracciando il problema.

Ci sono alcune segnalazioni viaggio davvero buona e, in particolare, Botond Ballo's trip report copre questa proposta nella sezione proposte per le quali un ulteriore lavoro è incoraggiata e dice:

Una proposta per l'inizializzazione de-strutturazione, che avrebbe consentire la scrittura di auto {x, y, z} = expr; dove il tipo di expr era un oggetto simile a una tupla, i cui elementi sarebbero associati alle variabili x, yez (che questo costrutto dichiara). "Oggetti tipo tupla" includono std :: tuple, std :: pair, std :: array e strutture aggregate. La proposta non disponeva di un meccanismo per adattare un tipo non aggregato definito dall'utente come "simile a una tupla" e funziona con questa sintassi; Il feedback di EWG era che un tale meccanismo è importante. Inoltre, EWG ha raccomandato che la proposta fosse espansa per consentire (facoltativamente) di specificare i tipi per x, yez, anziché dedurne i tipi.

Possiamo trovare la mailing incontro WG21 andando al WG21 site e andare al papers section.

Come T.C. note v'è anche una proposta concorrente P0151R0: Proposal of Multi-Declarators che dice:

Proponiamo un approccio migliore per “Attacchi strutturati” ai sensi della P0144R0 dove “meglio” è definito come terser, più ortogonale, più generale, più espressivo , meno (in modo analogo) ambiguo.

+0

Stavo per correggere l'errore ortogonale, ma poi ho visto che la proposta originale aveva lo stesso errore di battitura. Ora sono distrutto: P – SirGuy

+0

"più ortogonale [sic], più generale," sic erat scriptum – Vagrant

Problemi correlati