2011-08-30 13 views
9

Nello standard ISO C++: l'ultima bozza di lavoro è n3291, non è disponibile al pubblico. Ma n3290 è disponibile. fino a febbraio la bozza è n3242. Posso sapere ora ... quale bozza è più corretta per diventare una bozza finale? Perché ci sono molte differenze in n3242 rispetto a n3290?bozza standard ISO C++

in questo collegamento hanno dato anche: corrente bozza di lavoro come n3242? (Perché non n3290)

http://www.open-std.org/jtc1/sc22/wg21/

http://en.wikipedia.org/wiki/C%2B%2B0x

prego mi dite quale progetto è corretto da seguire (fino al progetto release finale)?

+0

Se disponibile su http://www.open-std.org/Jtc1/sc22/wg21/docs/papers/2011/ il numero massimo di bozze è attualmente la versione funzionante (Attualmente n3291). –

risposta

8

Per un po ', n3291 era disponibile dall'ovvio URL (basta cercare e sostituire n3242 con n3291 nel collegamento Wikipedia). Ma credo che qualcuno abbia deciso che era troppo vicino alla versione finale, quindi non è più accessibile.

Quindi Wikipedia non si collega ad esso perché non c'è nulla a cui collegarsi.

Ho nascosto una copia di n3291 mentre era disponibile. Non ho fatto una ricerca esaustiva, ma non sembrano esserci cambiamenti sostanziali; solo chiarimenti. Ad esempio, la sezione 1.8 (6) di n3242 legge:

meno che un oggetto è un campo di bit o una classe base subobject zero dimensioni, l'indirizzo di tale oggetto è l'indirizzo del primo byte è occupa. Due oggetti distinti che non sono né campi di bit né basi di oggetti di classe di dimensioni zero devono avere indirizzi distinti.

Mentre la stessa sezione di n3291 legge:

meno che un oggetto è un campo di bit o una classe base subobject zero dimensioni, l'indirizzo di tale oggetto è l'indirizzo del primo byte it occupa. Due oggetti che non sono campi di bit possono avere lo stesso indirizzo se uno è un suboggetti dell'altra o se almeno uno è un subobject di classe base di dimensioni zero e sono di tipi diversi; altrimenti, avranno indirizzi distinti.

(n3291 utilizza rosso strike-through e il testo blu sottolineato per evidenziare le modifiche da n3242, quindi non è stato difficile trovare questo esempio.)

Se qualcuno può fare un argomento convincente che sarebbe legale per me per ri-pubblicare n3291, sarei felice di renderlo disponibile. Certamente non ho dovuto inserire alcuna password o anche cliccare su un accordo prima di scaricarlo ...

[Aggiornamento: Nella mia prima versione di questa risposta, ho scritto "n3290" quando intendevo "n3291". È strano che la "bozza di lavoro" abbia un numero più alto della "versione finale". Ad ogni modo, ciò che era liberamente disponibile per un po 'era n3291.]

[Aggiornamento 2: N3337 è una bozza iniziale dello standard prossima C++, ed è molto simile allo standard finale C++ 11. Vedere:

Do section numbers differ between the C++11 standard and the gratis draft N3337?

in modo da avere la vostra scelta di correnti d'aria liberi; l'ultimo prima dello standard ufficiale (N3242) e il primo successivo (N3337). Tutti sembrano utilizzare la stessa numerazione di paragrafo.]

+0

@ Nemo: posso sapere se ... Concludo finalmente ... :) che n3290 è migliore o n3242? – user751747

+1

n3291 è solo una versione aggiornata di n3242. Come ho detto, credo che tutti i cambiamenti fossero minori. (Come nell'esempio che ho dato, o come aggiungere "noexcept" a tutte le funzioni nell'intestazione ''.) N3242 è perfettamente adeguato per tutti tranne gli scopi più oscuri, IMO. – Nemo

+0

@user - N3290 ** è ** il nuovo standard (salva qualche controllo ortografico e tipografia). –

1

La differenza tra N3290 e N3291 è la pagina del titolo. N3291 dice "Working Draft;" l'altro no. Oltre a questo, dicono la stessa cosa.

Purtroppo, nessuno dei due è disponibile online a causa di problemi ISO. Lo standard finale conterrà probabilmente solo modifiche minori rispetto all'N3290, quindi sono troppo vicini alla pubblicazione finale. Soprattutto considerando che N3291 è stato votato come FDIS.

+0

@ Nicol: ho bisogno in termini di n3242 & n3290 .... – user751747

+0

@ user751747: Hai bisogno di cosa in termini di loro? A meno che non abbiate effettivamente N3290/91, probabilmente non lo otterrete. Quindi N3242 è il meglio che otterrai. –