Форум программистов, компьютерный форум CyberForum.ru

Hello, World! - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 5.00
Сергей813
0 / 0 / 0
Регистрация: 01.09.2011
Сообщений: 4
07.09.2011, 18:24     Hello, World! #1
Добрый день.
Купил книгу Б.Страуструпа - Принципы и практика использования С++,
Напечатал первый код , при компиляции выскочили ошибки.

C++
1
2
3
4
5
6
#include "std_lib_facilities.h"
int main()
{
     cout << "Hello, World!\n";
     return 0;
}
Почему код из книги создателя языка не работает???\может я что то не правильно делаю? Компилятор Dev-C++.

 Комментарий модератора 
Используйте теги форматирования кода!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.09.2011, 18:24     Hello, World!
Посмотрите здесь:

C++ HELLO WORLD
C++ Тестирование Hello World
Hello, World! C++
C++ Hello World!
Hello world C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4923 / 2666 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
31.01.2013, 01:35     Hello, World! #21
Цитата Сообщение от Croessmah Посмотреть сообщение
особенно си'шный

Не по теме:

ужас то какой, printf тоже как std:rintf писать?)

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11836 / 6815 / 770
Регистрация: 27.09.2012
Сообщений: 16,900
Записей в блоге: 2
Завершенные тесты: 1
31.01.2013, 01:39     Hello, World! #22
Цитата Сообщение от MrGluck Посмотреть сообщение
ужас то какой, printf тоже как std:rintf писать?)
Вообще-то setlocale - сишная функция. Да и system("pause") не переносимая конструкция
А std относилось к коду выше (пост #17)
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4923 / 2666 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
31.01.2013, 01:45     Hello, World! #23
Цитата Сообщение от Croessmah Посмотреть сообщение
Вообще-то setlocale - сишная функция.
ну так С++ программисты её используют абсолютно нормально, что не скажешь о printf, gets и char массиве. Не понимаю суть претензий. Чем эта функция устарела/небезопасна/имеет более эффективную альтернативу и не достойна быть в "тру С++ программе" ?
UnsKneD
алкокодер
 Аватар для UnsKneD
153 / 149 / 11
Регистрация: 27.12.2012
Сообщений: 548
31.01.2013, 01:51     Hello, World! #24
В Dev можно
C++
1
2
3
int main( void ){
...
}
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11836 / 6815 / 770
Регистрация: 27.09.2012
Сообщений: 16,900
Записей в блоге: 2
Завершенные тесты: 1
31.01.2013, 01:52     Hello, World! #25
Цитата Сообщение от MrGluck Посмотреть сообщение
Не понимаю суть претензий. Чем эта функция устарела/небезопасна/имеет более эффективную альтернативу и не достойна быть в "тру С++ программе" ?
аналогичные вопросы относительно printf'a.
Хотите ввод/вывод в стиле Си - пожалуйста, в стиле Си++, да не вопрос.
Использовать можно и то и то, и не важно. Но только не в одной программе, естественно - ужасно выглядит )

P.S. А раз решили написать все с сугубо "плюсовыми" конструкциями, то тогда уж не используйте сишные
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4923 / 2666 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
31.01.2013, 02:01     Hello, World! #26
Croessmah, все-таки ответь на вопрос
Цитата Сообщение от MrGluck Посмотреть сообщение
Чем эта функция устарела/небезопасна/имеет более эффективную альтернативу и не достойна быть в "тру С++ программе" ?
А то её что то все сплошь и рядом используют.

Цитата Сообщение от Croessmah Посмотреть сообщение
Да и system("pause") не переносимая конструкция
Да, ругнется терминал на никсе, так там и нужды в вызове pause нет, я в комменте написал про удержание консоли лишь в случае необходимости, а она лишь на форточках возникает.

Добавлено через 1 минуту
Цитата Сообщение от Croessmah Посмотреть сообщение
P.S. А раз решили написать все с сугубо "плюсовыми" конструкциями, то тогда уж не используйте сишные
Я исправил ввод/вывод, ну и заодно массив поменял на безопасный std::string, не было у меня фразы "с использованием лишь наработок, введенных в С++ и отсутствующих в С"
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11836 / 6815 / 770
Регистрация: 27.09.2012
Сообщений: 16,900
Записей в блоге: 2
Завершенные тесты: 1
31.01.2013, 02:12     Hello, World! #27
Цитата Сообщение от MrGluck Посмотреть сообщение
Croessmah, все-таки ответь на вопрос
Отвечу Вашими же цитатами:
Цитата Сообщение от MrGluck Посмотреть сообщение
Максон красава, нехорошо мешать ввод/вывод в различных стилях.
На С++ это выглядело бы так:
а сами мешаете Си'шные функции с Си++
Цитата Сообщение от MrGluck Посмотреть сообщение
А то её что то все сплошь и рядом используют.
не все )
Цитата Сообщение от MrGluck Посмотреть сообщение
Чем эта функция устарела/небезопасна/имеет более эффективную альтернативу и не достойна быть в "тру С++ программе" ?
А где я писал, что данная функция устарела/небезопасна/имеет более эффективную альтернативу и не достойна быть в "тру С++ программе"?
и к printf'у это тоже относится

да, и прекращаем оффтопить, ибо тема не об этом. Оба
MrGluck
31.01.2013, 02:42
  #28

Не по теме:

Итог:
За смешивание ввода/вывода в стиле С и С++ в одной программе в кругах серьезных программистов дают вертушкой в щи

Потри лучше лишнее, ни к чему тут полемика наша.

vbloodv
 Аватар для vbloodv
22 / 22 / 0
Регистрация: 15.12.2012
Сообщений: 314
31.01.2013, 03:07     Hello, World! #29
Цитата Сообщение от Croessmah Посмотреть сообщение
Вообще-то setlocale - сишная функция. Да и system("pause") не переносимая конструкция
А std относилось к коду выше (пост #17)
Вместо setlocale - есть другая функция? Или надо использовать wcout + unicode ?
C++
1
А что касается system("pause");
Что можно предложить?
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4923 / 2666 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
31.01.2013, 03:13     Hello, World! #30
vbloodv, ничего предлагать не надо, на Linux такой команды нет, но и необходимости в её использовании тоже нет.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11836 / 6815 / 770
Регистрация: 27.09.2012
Сообщений: 16,900
Записей в блоге: 2
Завершенные тесты: 1
31.01.2013, 03:26     Hello, World! #31
Цитата Сообщение от vbloodv Посмотреть сообщение
Что можно предложить?
можно задержать консоль, например, getchar'ом

Не по теме:

Цитата Сообщение от MrGluck Посмотреть сообщение
но и необходимости в её использовании тоже нет.
как и на windows


Цитата Сообщение от vbloodv Посмотреть сообщение
Вместо setlocale - есть другая функция?
std::locale
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.01.2013, 11:41     Hello, World!
Еще ссылки по теме:

Hello world C: C++
Hello world C++
Hello world C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
surlok
0 / 0 / 0
Регистрация: 30.01.2013
Сообщений: 4
31.01.2013, 11:41     Hello, World! #32
Цитата Сообщение от grizlik78 Посмотреть сообщение
Это не ошибка, а предупреждение, которая говорит что в данном файле последняя строка не заканчивается переводом строки. Чтобы от него избавиться надо добавить пустую строку после последней строки файла std_lib_facilities.h.
А если программа не работает, то дело в чём-то другом.
Спасибо!
Вчера сам разобрался.
Вот так незнание английского создает проблемы. 1,5 часа поисков решения проблемы.
Yandex
Объявления
31.01.2013, 11:41     Hello, World!
Ответ Создать тему
Опции темы

Текущее время: 09:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru