Проект стандарта ISO C ++

В стандарте ISO C ++: последний рабочий проект n3291, он не является общедоступным. Но n3290 Имеется. до февраля осадка n3242. Могу я теперь узнать ... какой вариант более правильный, чтобы стать окончательным? Потому что у n3242 много отличий от n3290?

в этой ссылке они также дали ..: текущий рабочий проект как n3242? (почему бы не n3290)

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

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

скажите, пожалуйста, какой проект правильный, чтобы следовать (до окончательного выпуска проекта)?


person user751747    schedule 30.08.2011    source источник
comment
Если он доступен на open-std.org/Jtc1/sc22 / wg21 / docs / paper / 2011 рабочая версия с наибольшим числом черновиков (в настоящее время n3291).   -  person Martin York    schedule 30.08.2011


Ответы (2)


Некоторое время n3291 был доступен по очевидному URL-адресу (просто выполните поиск и замените n3242 на n3291 в ссылке в Википедии). Но я думаю, кто-то решил, что это слишком близко к финальной версии, поэтому она больше не доступна.

Таким образом, Википедия не ссылается на него, потому что не на что ссылаться.

Я спрятал копию n3291, пока она была доступна. Я не проводил исчерпывающего поиска, но, похоже, никаких существенных изменений нет; только уточнения. Например, раздел 1.8 (6) документа n3242 гласит:

Если объект не является битовым полем или подобъектом базового класса нулевого размера, адрес этого объекта является адресом первого байта, который он занимает. Два отдельных объекта, которые не являются ни битовыми полями, ни подобъектами базового класса нулевого размера, должны иметь разные адреса.

Хотя тот же раздел n3291 гласит:

Если объект не является битовым полем или подобъектом базового класса нулевого размера, адрес этого объекта является адресом первого байта, который он занимает. Два объекта, которые не являются битовыми полями, могут иметь один и тот же адрес, если один является подобъектом другого или если хотя бы один является подобъектом базового класса нулевого размера, и они относятся к разным типам; в противном случае у них должны быть разные адреса.

(n3291 использует красный зачеркнутый и подчеркнутый синий текст, чтобы выделить изменения по сравнению с n3242, поэтому найти этот пример было несложно.)

Если кто-то может привести убедительные аргументы в пользу того, что для меня будет законным переиздание n3291, я буду счастлив сделать его доступным. Мне, конечно, не нужно было вводить пароль или даже нажимать на соглашение перед его загрузкой ...

[Обновление: в моей первой версии этого ответа я написал «n3290», когда имел в виду «n3291». Довольно странно, что у «рабочего проекта» номер больше, чем у «финальной версии». Во всяком случае, какое-то время в свободном доступе был номер n3291.]

[Обновление 2: N3337 - это начальный черновик следующего стандарта C ++, и он очень похож на окончательный стандарт C ++ 11. Видеть:

Различаются ли номера разделов в стандарте C ++ 11 и бесплатном проекте N3337?

Итак, у вас есть выбор бесплатных черновиков; последний перед официальным стандартом (N3242) и первый после него (N3337). Похоже, что все используют одну и ту же нумерацию абзацев.]

person Nemo    schedule 30.08.2011
comment
@ Nemo: могу я узнать ур .. Заключение наконец ... :) что n3290 лучше всего или n3242? - person user751747; 30.08.2011
comment
n3291 - это просто обновленная версия n3242. Как я уже сказал, я считаю, что все изменения были незначительными. (Как в примере, который я привел, или как добавить noexcept ко всем функциям в заголовке <atomic>.) N3242 идеально подходит для всех, кроме самых непонятных целей, ИМО. - person Nemo; 30.08.2011
comment
@user - N3290 является новым стандартом (за исключением проверки орфографии и типографики). - person Bo Persson; 30.08.2011
comment
@nemo - Учитывая, что исходный издатель защитил документ паролем, я полагаю, они не хотят, чтобы другие публиковали его. ISO сделает свое издание доступным, как только оно выйдет из типографии. Реально скоро сейчас! - person Bo Persson; 30.08.2011
comment
Наиболее важным практическим моментом, по-видимому, является: соответствуют ли ссылки на номера абзацев в n3242 фактическому стандарту? Кажется, да. Хороший! - person Sjoerd; 30.08.2011

Отличие N3290 от N3291 заключается в титульном листе. N3291 говорит: «Рабочий проект»; другой нет. В остальном они говорят то же самое.

К сожалению, ни один из них не доступен в Интернете из-за проблем с ISO. Окончательный стандарт, вероятно, будет содержать лишь довольно незначительные изменения по сравнению с N3290, поэтому они слишком близки к окончательному, чтобы их опубликовать. Особенно с учетом того, что N3291 был признан FDIS.

person Nicol Bolas    schedule 30.08.2011
comment
@ user751747: Что с ними нужно? Если у вас нет N3290 / 91, вы, вероятно, не получите его. Так что N3242 - лучшее, что вы можете получить. - person Nicol Bolas; 30.08.2011