Ресурс, который кратко описывает стандарты C и С++

После неправильного ответа на этот вопрос, потому что я не был в курсе стандарта C, я начал искать какое-то место, которое дает описание того, что есть в стандартах на C и С++.

Мне не нужны полные стандарты, из которых я нашел ссылки в Где найти текущие стандартные документы C или С++? или тесные технические обсуждения. Вместо этого я хотел бы что-то, что кратко описывает стандарт, со ссылкой на фактический стандарт, если я хочу проверить его более подробно и, возможно, сказать, какой стандарт был введен в эту функцию.

Имеется ли такой ресурс?

РЕДАКТИРОВАТЬ. Немного предыстории вопроса: я программировал C более 20 лет, и когда я узнал, что это не стандартизировано. И то, что было в официальном стандарте, не получило широкого распространения. На протяжении многих лет я стал достаточно хорошим программистом на C, что мои друзья и колледжи приходят ко мне за помощью, когда у них проблемы.

Однако, когда я узнал C, мне сказали, что такие вещи, как макет памяти для многомерных массивов, специфичны для реализации, и когда я увидел вопрос об этом предмете, я сказал, что это не стандартизировано, только чтобы мне сказали, что я ошибался. Но даже зная это, мне трудно найти какое-либо место, говорящее, что это в стандарте, и еще труднее найти, в каком стандарте он был впервые представлен.

Если бы было какое-то место, говорящее: "Макет памяти многомерных массивов был стандартизован в C9x, в разделе Y стандартного документа" Было бы легко найти и передать это человеку, задающему вопрос. Меня не интересует, каков фактический макет, просто он стандартизирован и где посмотреть, действительно ли я хочу получить окончательный ответ об этом.

Это, конечно, касается других вещей. Как известно, заголовочный файл "<yyy.h>" задан стандартным "C90", и где в стандарте я должен искать обоснование и его содержимое. Очень сложно найти эти вещи, когда они распределены, собрав их в одном месте, было бы намного легче найти.

Ответ 1

Я нашел http://en.cppreference.com/w/cpp теперь становится очень хорошо! (всегда намного больше)

Ответ 2

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

Я не знаю ни одного ресурса, который бы упрощал бы каждый раздел стандарта C (или даже значительного числа из них), и я бы сомневался в его полезности. Обычно у вас есть определенная проблема, которую вам нужно решить, и в этом случае вы будете искать эту конкретную проблему - подавляющему большинству людей не нужен стандарт, особенно когда у них есть такой ресурс, как SO на кончиках пальцев.

Если вы разработчик языка или изучаете темные уголки языка в мучительной детали, тогда да, получите стандарт, это бесценно. Если вы просто используете язык изо дня в день (даже как эксперт), вы можете обойтись без него, всего лишь немного googling (a).


(a) Убедитесь, что один из условий поиска site:stackoverflow.com: -)

Ответ 3

В стандарте есть так много материала, что просто невозможно кратко описать его. Я не думаю, что ваш вопрос действительно подотчетен, как написано. Если вам нужна ссылка на стандартную библиотеку, то книга Иосуттиса http://www.amazon.com/Standard-Library-Tutorial-Reference/dp/0201379260/ref = sr_1_1? ie = UTF8 & qid = 1320994652 & sr = 8-1 всегда является фантастической ссылкой.

Ответ 4

Я предполагаю, что вы уже знакомы со старыми стандартами и хотите освежить новые менее используемые вещи.

Вот хорошее чтение для C99. Оно охватывает изменения и имеет примечания к фактическому стандарту. Также некоторые вещи на С++ там.

Википедия отлично подходит для С++ 11. Отлично подходит для основ, но не в полной мере.

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

Ответ 5

Я думаю, что некоторые из других людей, отвечающих на этот вопрос, правы: редко требуется авторитетный документ стандарта ISO, если вы не пишете компилятор или что-то в этом роде. Для меня я нахожу, что основные книги на двух языках создателями языка достаточны для почти всех моих потребностей. Это:

Язык программирования C Брайаном Керниганом и Деннисом Ричи

Язык программирования С++ by Bjarne Stroustrup

Ищите последние версии каждого из них, хотя быстрый поиск на Amazon не обновляется для последних воплощений языков (C99 и С++ 11). Вам может потребоваться дополнить онлайн-источниками или, возможно, взглянуть на A C Primer Plus и Professional С++.