С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 21.01.2011
Сообщений: 5

Разные компиляторы

21.01.2011, 13:26. Показов 2729. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Програмировать на С++ только начинаю. Только вот при скачивании разных учебников - встречаю отличающиеся коды. В одних случаю пишеться
C++
1
using namespace std;
, в других - нет. Кое-где место
C++
1
cout << ....
встречаеться
C++
1
cout :: .....
. Использовал разные версии программ С++ (3.02, 5.02, сейчас стоит Microsoft Visual 6.0 ++). При двоеточиях в коде выдают ошибку.
Visual работает как с командой с пространством имен так и без него одинаково. Может кто-либо просветить меня по этому поводу? И посоветовать нормальный учебник(компилятор) в котором будут одинаковые коды?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.01.2011, 13:26
Ответы с готовыми решениями:

Компиляторы
Всем привет. Только только 1 семестр занимаюсь программированием. В универе стоят компы с линуксом и наверно компилятор g++. Мы пользуемся...

Компиляторы
Скажите пожалуйста какие сейчас есть компиляторы для С++ и какой из них на сегодняшний день самый распространённый и широкоиспользуемый?

компиляторы
Подскажите какие компиляторы для C++ используют компьютерные компании? Такие как Adobe, Electronic Games, Skype, Rockstar Games, Microsoft?...

11
216 / 216 / 33
Регистрация: 26.12.2010
Сообщений: 691
21.01.2011, 14:44
если объявлять using namespace std; то в коде уже не обязательно использовать :: для данного пространства.
в противном случаи можно делать следующим образом std::cout <<"Blablabla";

сам начнаю только и в данный момент читаю "Либерти, срр за 21 день". впринципе вполне нормально описано. Стоит Microsoft Visual 2008
0
0 / 0 / 0
Регистрация: 21.01.2011
Сообщений: 5
21.01.2011, 15:00  [ТС]
я так понимаю в более новых компиляторах нужно указывать пространство имен, а в более старых не нужно?

Добавлено через 4 минуты
кстати можешь скинуть ссылку откуда скачал?
0
216 / 216 / 33
Регистрация: 26.12.2010
Сообщений: 691
21.01.2011, 15:04
немножко не так..
как я понял что бы получить доступ к cout нужно указать откуда его брать, т.е. пространство имен.. а версия компилятора на это по идеи влиять не должна, если ошибаюсь поправьте меня знающие люди)

книгу искал через гугл, думаю проблем откуда скачать не должно возникнуть. источников предостаточно, а давать ссылки на сторонние ресурсы тут нельзя..
1
112 / 22 / 3
Регистрация: 20.11.2010
Сообщений: 1,294
21.01.2011, 15:11
меня всё интересует, как можно изучить эту книгу за 21 день? если там почти 1000 страниц!
Это минимум месяц надо учить. А то и два, если с тестом прог!
Поделитесь секретом плиз! Я конечно не спорю, что эта книга может хорошая!
0
0 / 0 / 0
Регистрация: 21.01.2011
Сообщений: 5
21.01.2011, 15:15  [ТС]
ну вот для примера только что написал простой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream.h>
 
int main()
{
    int a;
    int b;
    cout << "Vvedite 4islo a" << endl;
    cin >> a;
    cout << "Vvedite 4islo b" << endl;
    cin >> b;
    int c = a+b;
    cout << "c = " << c;
    return 0;
}
на Visual C++ 6.0 пашет сейчас без проблем. Если добавляю строчку
C++
1
using namespace std;
, то выдает ошибку:
error C2871: 'std' : does not exist or is not a namespace
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
21.01.2011, 15:19
Цитата Сообщение от NiRamz Посмотреть сообщение
а версия компилятора на это по идеи влиять не должна
На самом деле изначально в С++ никаких пространств имён небыло. По этому дремучие маргинальные компиляторы вроде Borland Turbo-C про них из знать не знают. При использовании древних компиляторов никакие пространства имён ни в каком виде не используются и заголовочные файлы называются так же, как в С (в смысле с точкой - <stdlib.h>, <string.h>, <ctype.h>, etc... При использовании "новых" компиляторов пишется соответственно <cstdlib>, <cstring>, <cctype>, etc...)...


Не по теме:

Цитата Сообщение от NiRamz Посмотреть сообщение
а давать ссылки на сторонние ресурсы тут нельзя..
Вы не представляете, как это хорошо, когда не приходится людей носом в правила тыкать! Спасибо!



Добавлено через 3 минуты
compaurum,
C++
1
2
#include <iostream>
using namespace std;
так тоже ругается?
1
21.01.2011, 15:25

Не по теме:

easybudda, про различия в заголовочных файлах (<...h> <...>) знал, а вот про пространство имен нет, спасибо за разъяснение.
рамуеется это из-за того что сразу поставил 2008 студию, но для общего развития думаю знать очень даже полезно.

0
0 / 0 / 0
Регистрация: 21.01.2011
Сообщений: 5
21.01.2011, 15:33  [ТС]
нет, так не ругается. Но насколько я слышал не рекомендуется использовать такой код в начале. Желательно писать:
C++
1
std::cout << "   ";
, но тогда опять ругается:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
int main()
{
    int a;
    int b;
    std:: << "Vvedite 4islo a" << std::endl;
    std::cin >> a;
    std::cout << "Vvedite 4islo b" << std::endl;
    std::cin >> b;
    int c = a+b;
    cout << "c = " << c;
    return 0;
}
при таком коде(если поставить std:: возле обоих "endl" ) на endl перестает ругаться, а на cout и cin пишет что "undeclared identifier". Не распознает чего-то.
И вообще какой смысл задавть пространство имен если оно и так работает? Зачем оно нужно?
спс
0
Заблокирован
21.01.2011, 15:37
Цитата Сообщение от compaurum Посмотреть сообщение
при таком коде(если поставить std:: возле обоих "endl" ) на endl перестает ругаться, а на cout и cin пишет что "undeclared identifier". Не распознает чего-то.
используйте "\n" вместо endl
в Microsoft Visual 6.0 писАть
C++
1
using namespace std;
или std:: не нужно, я переходил 6->8, так, что не знаю, есть ли это в седьмой версии
также ввели static_cast, dynamic_cast и reinterpret_cast
больше каких-либо существенных различий я не заметил
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
21.01.2011, 16:04
Цитата Сообщение от compaurum Посмотреть сообщение
std:: << "Vvedite 4islo a" << std::endl;
смело!
C++
1
std::cout << "bla bla bla" << std::endl;
1
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
22.01.2011, 00:10
В дремучих маргинальных типа Борданд С еще всего было мало. Только фундамент Вавилонской башни закладывался. Строители следили еще, чтобы РАЗНЫЕ функции не имели имен одинаковых. Ну потом стало всего больше. И авторов и идей. Ну, и смешались языки ихнии. Одним и тем же словом начали разные вещи называть. Тот же cout, он здесь - поток, а где-то в другом месте - толстая кошка.
И вот как способ борьбы с этим смешением умные люди и придумали namespace ( а также ::)
Мол, не какую-то жирную котяру имею я в виду, а именно поток из пространства имен std
А если нет наложения имен, то транслятор, как и древние маргинальные, сам разберется.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.01.2011, 00:10
Помогаю со студенческими работами здесь

Hello world и компиляторы
начал самостоятельно изучать С++ (раньше к программированию отношения никакого не имел, и в принципе разве, что являюсь продвинутым...

Компиляторы и IDE C++
Здравствуйте.Я новичок в программировании.Успешно постиг азы в консоли в DevС++. Пришла пора переходить к GUI. Столкнулся с проблеммой -...

Онлайн компиляторы
Здравствуйте! Столкнулся с проблемой, что некоторые онлайн компиляторы выдают не тот же результат, что компилятор gnu c++ (через...

Хорошие онлайн компиляторы?
Привет. Обычно пользуюсь cpp.sh. Но этот кусок анвог последнее время тупит каждый раз, даже бесить начал. Есть ли что нибудь интересное...

Непойму про компиляторы
Компилятор написан на с++ как такое может быть? ведь чтобы скомпилировать такой компилятор нужен был еще кактой компилятор который тоже...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru