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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 30, средняя оценка - 4.87
Inferiym
1 / 7 / 3
Регистрация: 20.12.2011
Сообщений: 58
#1

С + + и Visual C + + и чем они отличаются? Есть ли их изучение взаимно дополняющее или это совсем разные языки? - C++

17.06.2012, 23:23. Просмотров 3810. Ответов 54
Метки нет (Все метки)

Просветите убогого =)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2012, 23:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос С + + и Visual C + + и чем они отличаются? Есть ли их изучение взаимно дополняющее или это совсем разные языки? (C++):

Сложить три числа, если они отличаются не больше чем на 2 - C++
Есть к примеру 3 числа, A, B, C. Если эти числа отличаются не больше чем на 2, то сложить их. Как бы сделать проверку?

Какие существуют виды условного оператора и чем они отличаются - C++
5. Какие существуют виды условного оператора и чем они отличаются?

Часть чисел записывается с совсем противоположным знаком, чем они выводятся в консоли - C++
Есть следующий код: #include <iostream> #include <math.h> #include <fstream> using namespace std; void filter(double x,double...

а как вам это чем отличаются - C++
10)Литералы 33 и 33L Выберите один ответ. не отличаются отличаются значением отличаются типом одно из них...

Числа считаются равными если они отличаются не более, чем на (10^-12) / c++ / как реализовать эту возможность? - C++
На плоскости заданы три точки А, В и С. Определить, какая из двух последних точек (B или C) расположена ближе к A, и вывести расстояние от...

JavaScript является каким то подразделом Java, или это совершенно разные языки? - Java
Здравствуйте. Хочу изучит JavaScript, но не хотелось бы обходить вниманием Java. Подскажите, JavaScript является каким то подразделом...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Avazart
Эксперт С++
7148 / 5325 / 276
Регистрация: 10.12.2010
Сообщений: 23,566
Записей в блоге: 17
24.06.2012, 20:40 #16
Ну ворнинги можно поидее убрать в настройках, а printf они как я понял считаю не безопасным...
Разве есть gcc под винду?
О clang, intel не слышал, а они идут с IDE ведь по видимому подруземается IDE, а не чисто компилятор...

Лично мне не нравится перевод строк clr в строк с STL-скими ужасно не удобно... а также тормоза самой IDE и куча уточняющий окошек...Это мелочи, но их довольно много..
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
24.06.2012, 20:46 #17
Цитата Сообщение от Avazart Посмотреть сообщение
Разве есть gcc под винду?
MinGW

Цитата Сообщение от Avazart Посмотреть сообщение
по видимому подруземается IDE, а не чисто компилятор
IDE есть на любой вкус, как минимум QtCreator может использовать любой компилятор.
Avazart
Эксперт С++
7148 / 5325 / 276
Регистрация: 10.12.2010
Сообщений: 23,566
Записей в блоге: 17
24.06.2012, 21:01 #18
А насколько они подходят под винду (и удобны)?
Лично мне так и не удалось отлучить от либ Qt, QtCreator...
Хотя QtCreator намного больше мне понравился как IDE.

И чесно меня поразила такая штука Шаблоны или ... (Maximum option context replay depth exceeded)
что это не правильно написаный код или неправильность компиляторов?
Evg
Эксперт CАвтор FAQ
17624 / 5848 / 375
Регистрация: 30.03.2009
Сообщений: 16,124
Записей в блоге: 26
24.06.2012, 22:30 #19
Цитата Сообщение от Avazart Посмотреть сообщение
а printf они как я понял считаю не безопасным...
Какой есть язык Си, такой и есть - небезопасный. Микрософтеры просто решили сделать дополнительные плюшки, дабы уберечь программистов от наиболее типичных ошибок
Avazart
Эксперт С++
7148 / 5325 / 276
Регистрация: 10.12.2010
Сообщений: 23,566
Записей в блоге: 17
24.06.2012, 23:05 #20
Ну да, сборищик мусора для того же... ну и C#...
Отсюда наверное и не особое желание придерживаться стандарта.
Программы писать легче, ну а то что они могут работать медленнее майкрософ наверное не волнует...
CyBOSSeR
Эксперт C++
2300 / 1670 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
24.06.2012, 23:11 #21
Цитата Сообщение от Evg Посмотреть сообщение
Микрософтеры просто решили сделать дополнительные плюшки, дабы уберечь программистов от наиболее типичных ошибок
И добавить новые типичные ошибки.
C++
1
2
std::string str = "blabla";
printf("%s", str);
Работает в студии, хоть и противоречит здравому смыслу и падает в том же GCC.
Avazart
Эксперт С++
7148 / 5325 / 276
Регистрация: 10.12.2010
Сообщений: 23,566
Записей в блоге: 17
24.06.2012, 23:48 #22
Пробовал на трех компилятора данный код
VC2010 выдает иероглефы
Builder2009 никак не регирует, как будто просто этих строчек нет
QtCreator заканчивается окошком "прекращение работы программы" т.е краш.

И на мой взгляд ни один из результатов не является нормальным...
По хорошему должна быть ошибка или хотябы ворнинг...
И краш явно не лучший вариант...
Его можно заметить, а можно и не заметить, а вот пользователь его точно заметит
Evg
Эксперт CАвтор FAQ
17624 / 5848 / 375
Регистрация: 30.03.2009
Сообщений: 16,124
Записей в блоге: 26
25.06.2012, 00:00 #23
Цитата Сообщение от Avazart Посмотреть сообщение
Ну да, сборищик мусора для того же... ну и C#...
Да нет, тут дело не в сборщиках мусора, а в отсутствии контроля за границей допустимой памяти во всяких функциях типа strcpy

Цитата Сообщение от CyBOSSeR Посмотреть сообщение
И добавить новые типичные ошибки.
C++
1
2
std::string str = "blabla";
printf("%s", str);
Работает в студии, хоть и противоречит здравому смыслу и падает в том же GCC.
А где тут ошибка? Просто при передаче класс передаётся по косвенности, а класс устроен так, что первое поле класса - массив char'ов. В итоге получается, что printf достаёт строку, как будто передавался указатель на массив char'ов. Ну или что-то около того. Собственно, функция printf является опасной (как и любая функция с vararg'ами), а потому такие эффекты - это нормально

Добавлено через 2 минуты
Цитата Сообщение от Avazart Посмотреть сообщение
Пробовал на трех компилятора данный код
VC2010 выдает иероглефы
Builder2009 никак не регирует, как будто просто этих строчек нет
QtCreator заканчивается окошком "прекращение работы программы" т.е краш.
Потому что в run-time поддержке компиляторов разная реализация внутренностей класса string

Цитата Сообщение от Avazart Посмотреть сообщение
По хорошему должна быть ошибка или хотябы ворнинг...
gcc точно умеет выдавать ворнинг по -Wall. Думаю, что и остальные умеют

Цитата Сообщение от Avazart Посмотреть сообщение
И краш явно не лучший вариант...
Если программа написана криво, то при чём тут компилятор?
CyBOSSeR
Эксперт C++
2300 / 1670 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
25.06.2012, 00:21 #24
Evg, std::string не является POD'ом, через эллипсис можно предавать только POD'ы. MSVC должен выдавать хотя бы warning.
Evg
Эксперт CАвтор FAQ
17624 / 5848 / 375
Регистрация: 30.03.2009
Сообщений: 16,124
Записей в блоге: 26
25.06.2012, 00:38 #25
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
через эллипсис можно предавать только POD'ы
О как... Это точно? А то в первом приближении не вижу причин, почему нельзя
CyBOSSeR
Эксперт C++
2300 / 1670 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
25.06.2012, 00:44 #26
Параграф 5.2.2 С++98, пункт 7:
When there is no parameter for a given argument, the argument is passed in such a way that the receiving function can obtain the value of the argument by invoking va_arg (lib.support.runtime). The lvalue-to-rvalue (conv.lval), array-to-pointer (conv.array), and function-to-pointer (conv.func) standard conversions are performed on the argument expression. After these conversions, if the argument does not have arithmetic, enumeration, pointer, pointer to member, or class type, the program is ill-formed. If the argument has a non-POD class type (clause class), the behavior is undefined. If the argument has integral or enumeration type that is subject to the integral promotions (conv.prom), or a floating point type that is subject to the floating point promotion (conv.fpprom), the value of the argument is converted to the promoted type before the call. These promotions are referred to as the default argument promotions.
Evg
Эксперт CАвтор FAQ
17624 / 5848 / 375
Регистрация: 30.03.2009
Сообщений: 16,124
Записей в блоге: 26
25.06.2012, 00:53 #27
Ясно. А есть идеи о причинах?
DaskOFF
25.06.2012, 00:59
  #28

Не по теме:

тут велось обсуждение компиляторов и сразу назрел вопрос
Каким же компилятором лучше пользоваться новичку, чтобы в будущем не было много проблем с тем, что в одном компиляторе что-то было в другом нету
если не сложно вариант платной(если таковая имеется) и бесплатной

Evg
25.06.2012, 01:02
  #29

Не по теме:

Цитата Сообщение от DaskOFF Посмотреть сообщение

Не по теме:

тут велось обсуждение компиляторов и сразу назрел вопрос
Каким же компилятором лучше пользоваться новичку, чтобы в будущем не было много проблем с тем, что в одном компиляторе что-то было в другом нету
если не сложно вариант платной(если таковая имеется) и бесплатной

Мне кажется, что любой современный компилятор имеет какие-то свои собственные расширения. Так что если не иметь чёткого понимания, то с любым компилятором можно написать код, который не будет работать на другом компиляторе

CyBOSSeR
Эксперт C++
2300 / 1670 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
25.06.2012, 01:06 #30
Цитата Сообщение от Evg Посмотреть сообщение
А есть идеи о причинах?
Как я понимаю, аргументы перед вызовом копируются в стек, потом с помощью va_arg достаются, не POD типы нельзя скопировать "как есть", поэтому и запретили их использование.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.06.2012, 01:06
Привет! Вот еще темы с ответами:

Чем они отличаются.. - Turbo Pascal
Помогите с файлами! F:file of string; F1:file of char; F2:text; Нужно написать чем они отличаются. А также файловое...

Чем они отличаются и какую приобрести? - Видеокарты
Чем отличается Видеокарта ASUS STRIX GeForce GTX 750 Ti OC 2GB GDDR5 (STRIX-GTX750TI-OC-2GD5) от Видеокарта ASUS GeForce GTX 750 Ti OC...

Visual Studio 2005 и Visual Studio 2008 сильно ли они отличаются друк от друга? - Разработка ПО
привет ребята:) вот у меня есть Visual Studio 2005 и Visual Studio 2008 возник вопрос сильно ли они отличаются друк от друга? пробывал...

Что такое входной и выходной поток? чем они отличаются? - C#
Что такое входной и выходной поток? чем они отличаются?


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
25.06.2012, 01:06
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru