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

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

21.01.2011, 13:26. Показов 2764. Ответов 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru