![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
archimed7592 |
|
||||||||||||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 6 Всего: 93 |
Очень часто задают вопрос типа такого
Что же такого в современных компиляторах? Да собственно ничего особенного, просто они начали более полно соответствовать Стандарту. Итак, устаревшие источники в виде некоторых книг и преподавателей предлагают вам написать и откомпилировать следующую программу(так писать неправильно):
Visual Studio 2005 и выше(к примеру) откажется компилировать эту программу выдав следующее сообщение:
Вот правильный вариант программы:
Отличия: во-первых, это подключение заголовочного файла iostream вместо iostream.h(этого требует Стандарт), во-вторых, это использование пространства имён std т.к. почти все сущности из стандартной библиотеки теперь располагаются в этом пространстве имён. Более подробно: 1. Стандартные заголовочные более не имеют окончания .h. Т.е. теперь должно подключать fstream, ostream, vector, string и т.д. 1а. Стандартные заголовочные файлы из языка С(не С++) также более не имеют окончания .h, но имеют приставку 'c': cmath, cstdio, cstdlib и т.д. Примечание: помимо этого все ф-ции из этих заголовочных файлов языка С также теперь находятся в пространстве имён std, т.е. теперь нужно писать std::printf, std::strcpy и т.д. 2. Пространство имён std. Все сущности из стандартной библиотеки теперь находятся в нём. Сделано это для того, чтобы они не конфликтовали с вашими сущностями(из-за совпадения имён). Если Вы не хотите постоянно приписывать std::, то есть два варианта как этого избежать:
К слову, подключение посредством using или using namespace категорически не рекомендуется делать внутри своих заголовочных файлов. Также не рекомендуется делать это и внутри модулей(.cpp). Самый правильный вариант - это подключение имён уровня ф-ции, причём, рекомендуется подключать только необходимые имена:
Назад к FAQ Это сообщение отредактировал(а) bsa - 26.7.2011, 10:59 -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
||||||||||||
|
|||||||||||||
Igor_K |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 4.2.2008 Где: Kyiv Репутация: нет Всего: нет |
Кажись у тебя ошибка. Всюду написано:
тут походу имеется ввиду
Это сообщение отредактировал(а) Igor_K - 9.4.2008, 11:59 |
||||
|
|||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 6 Всего: 93 |
Ага, пасип
![]() -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 6 Всего: 162 |
Всё хорошо, только предлагаю заменить "инжект" на "включение" или "вставка".
|
|||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 6 Всего: 93 |
Я думал о том, что термин неудачный, но "вставка" мне нравится ещё меньше
![]() Может кто догадается, как правильно это по русски обозвать, чтобы дико не звучало? -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 2 Всего: 207 |
получать доступ к сущностям пространства имен ![]() -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 6 Всего: 93 |
Длинно и непонятно
![]() -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
opjox |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 17.1.2008 Репутация: 2 Всего: 14 |
Может быть "подключение"?
|
|||
|
||||
jenek28 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 4.4.2008 Репутация: -2 Всего: -2 |
в конце допиши return 0;
и всё будет работать |
|||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 6 Всего: 93 |
Спасибо, дорогой, а то у меня до этого не работало ![]() Если уж на то пошло, то писать нужно return EXIT_SUCCESS, но это эквивалентно return 0, а по стандарту, если ф-ция main не возвращает значения, то неявно подставляется возвращение нуля(implicit return 0), так что, если компилятор требует написания return 0 - это свидетельствует о его несовременности ![]() -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
arkeyn |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 26.4.2008 Репутация: нет Всего: нет |
у меня c++ builder 6
никак немогу написать консольное приложение под дос, перепробывал выше приведенное, компилирует и материться что нету ДЛЛки ХЕЛП!!! или скажите плз где норм компилятор скачать, ![]() ![]() Добавлено через 4 минуты и 27 секунд cc3260.dll вот этот найти не может |
|||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 6 Всего: 93 |
arkeyn, см. здесь: http://forum.vingrad.ru/index.php?show_typ...showtopic=49632
-------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
arkeyn |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 26.4.2008 Репутация: нет Всего: нет |
ладно, много слишком всего. У меня есть книга там описываеться С++ но только вот мне нужен стабильный компилятор, !!рабочий!! вижу что там всего много, какой именно посоветуеш закачать что бы там безпроблем можна было приложения под дос писать по книжке и желательно что бы потом чтото под виндовс писать тоже можно было. спб |
|||
|
||||
Akeem |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 14.7.2006 Где: Киев/Украина Репутация: нет Всего: 3 |
Странно, что только сейчас об этом заговорили.
Уже как 4 года говорят о том что все функции ввода/вывода находятся в std и что следует писать программу так
-------------------- Мир огромен и мы только муравьи в нём! (С) formicha |
|||
|
||||
arkeyn |
|
||||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 26.4.2008 Репутация: нет Всего: нет |
всеравно неработает, какой вы компилятор юзаете? ![]() посоветуйте компил нормальный что бы с формами можна было и под дос работал ато в моет c++ builder 6 нехватает библиотек какихто все время, уже достало впрям ![]() ![]() ![]() |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |