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

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

9 голосов
/ 30 августа 2011

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

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

http://www.open -std.org / ОТК1 / SC22 / wg21 /

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

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

Ответы [ 2 ]

9 голосов
/ 30 августа 2011

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

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

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

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

Хотя в том же разделе n3291 написано:

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

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

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

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

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

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

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

1 голос
/ 30 августа 2011

Разница между N3290 и N3291 заключается в титульном листе. N3291 говорит "Рабочий проект"; другой нет. Кроме того, они говорят то же самое.

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

...