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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.79
Сыроежка
Заблокирован
#1

Баги в Visual Studio 2010 - C++

16.10.2011, 19:17. Просмотров 2425. Ответов 41
Метки нет (Все метки)

Цитата Сообщение от Van111 Посмотреть сообщение
спасибо Nameless One
если честно то в 6 студии куча глюков, а на 2010 я переходить не хочу она вроде как слишком большие exe создают но ради удобства RAD можно и её заняться
а если я обычные проги буду на dev 5 писать они сильно в скорости выполнения будут 6 студии уступать??????????
В MS VC++ 2010 также не мало глюков! Другое дело, что у вас не такая высокая квалификация, чтобы понять, что вы имеете дело с глюком.

Самый простой глюк MS VC++ 2010 (правда я обнаружил его до установки обновления SP1, так что не знаю, исправлен он уже или нет), это не возможность совершенно корректного определения

C++
1
2
3
4
struct A
{
   int A;
};
 Комментарий модератора 
Сообщения выделены из темы испортился компилятор посмотрите
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2011, 19:17     Баги в Visual Studio 2010
Посмотрите здесь:
Visual studio 2010 C++
c++, visual studio 2010! 7 C++
c++, visual studio 2010! 6. C++
c++, visual studio 2010! 2. C++
C++ c++, visual studio 2010! 1.
C++ Visual Studio 2010
C++ Visual Studio 2010
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Сыроежка
Заблокирован
17.10.2011, 18:49  [ТС]     Баги в Visual Studio 2010 #31
Цитата Сообщение от easybudda Посмотреть сообщение
Да что там я. Думаю, его кроме Вас вообще никто не знает. Ну Страуструпп разве-что в общих чертах...


Ну да, так конечно ругаться будет. Так оно и в таком виде не скомпилируется
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
    
class A {
public:
    int val;
};
 
void A() {
    std::cout << "bla bla bla" << std::endl;
}
 
int main(){
    A a;
    a.val = 13;
    
    A();
    std::cout << a.val << std::endl;
    
    return 0;
}
скажет
Код
C:\c_cpp\shitcode>g++ -o aa aa.cpp
aa.cpp: In function 'int main()':
aa.cpp:13:4: error: expected ';' before 'a'
aa.cpp:14:2: error: 'a' was not declared in this scope
что не удивляет. Мне другое не понятно: зачем вообще такие грабли делать? Тру-профессионалу обычных проблем с ошибками в программе мало, дебажить, так дебажить? Это если ССЗБ, или просто заняться нечем по-моему...


Во-первых прочитайте уже правила, там кроме уважительного общения (я-то не претендую, но многие обижаются) есть ещё пункт
, а во-вторых что мне, неучу, там делать? Нужно посмотреть, как с вашими шарадами gcc справится - так скачайте, установите и сами посмотрите...
Не надо было приводить сообщения компилятора. Я вам специально привел пример, чтобы вы знали, что такое уточненное (elaborated name) класса, и что это не одно и тоже, что просто указания имени класса.

Приведенный вами код будет успешно компилироваться, если вы замените объявление A a; на struct A a; Об этом я и вел речь.
talis
17.10.2011, 19:27
  #32

Не по теме:

A не уважает B из-за того, что B не уважает A. Race condition просто какое-то.

Kastaneda
Форумчанин
Эксперт С++
4514 / 2856 / 228
Регистрация: 12.12.2009
Сообщений: 7,250
Записей в блоге: 1
Завершенные тесты: 1
17.10.2011, 19:48     Баги в Visual Studio 2010 #33
Сыроежка, а по каким критериям можно отличить баг от особенности реализации? Например в 10-ой студии не реализована спецификация исключений(хотя она предусмотрена стандартом), так что это - баг или особенность реализации?
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
17.10.2011, 19:50     Баги в Visual Studio 2010 #34
Цитата Сообщение от Kastaneda Посмотреть сообщение
хотя она предусмотрена стандартом
Уже не предусмотрена. Отказались (к шчастью).
Kastaneda
Форумчанин
Эксперт С++
4514 / 2856 / 228
Регистрация: 12.12.2009
Сообщений: 7,250
Записей в блоге: 1
Завершенные тесты: 1
17.10.2011, 19:51     Баги в Visual Studio 2010 #35
Цитата Сообщение от Deviaphan Посмотреть сообщение
Уже не предусмотрена. Отказались (к шчастью).
Не знал. Речь, я так понимаю, о C++11?
magirus
Супер-модератор
Эксперт по компьютерным сетямЭксперт Windows
26426 / 14728 / 836
Регистрация: 15.09.2009
Сообщений: 63,998
Записей в блоге: 68
17.10.2011, 19:51     Баги в Visual Studio 2010 #36
Цитата Сообщение от Сыроежка Посмотреть сообщение
хамью-модераторам
язычок придержи.
Сыроежка
Заблокирован
17.10.2011, 20:00  [ТС]     Баги в Visual Studio 2010 #37
Цитата Сообщение от Kastaneda Посмотреть сообщение
Сыроежка, а по каким критериям можно отличить баг от особенности реализации? Например в 10-ой студии не реализована спецификация исключений(хотя она предусмотрена стандартом), так что это - баг или особенность реализации?
В стандарте есть такие выражения, как implementation defined, или, например, program is ill-formed, или program shall do. Два последних термина означают баг компилятора, если он такое допускает, то есть ill-formed code, или, напротив, не делает того, что должен делать.

Ведь вопрос стоит так: вы должны знать, то ли вы неправильно что-то делаете, и поэтому ваш код не компилируется, или, напротив, неправильные конструкции пропускаются компилятором, или же это ошибка компилятора, и вам надо либо сменить компилятор, либо придумать трюк, как баг компилятора обойти. То есть действия программиста должны быть осознанны. Он должен четко понимать, что имеет место быть.

Для примера могу привести код, который я указал на другом форуме, и который в свою очередь нашел еще на одном форуме. Вот этот код

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
namespace X 
 { 
    namespace Y 
    { 
        class Outer {}; 
  
        namespace Z 
        { 
            class Inner 
            { 
                void callMe(Outer* param); 
            }; 
        } 
    } 
 } 
  
 using namespace X::Y::Z; 
  
 void Inner::callMe(Outer* param) 
 { 
 }
g++ по утверждению автора исходного вопроса компилирует этот код, а MS VC2010 не компилирует. И что делать? Естественно нужно иметь четкий ответ на вопрос, какой из компиляторов прав.

Добавлено через 6 минут
Цитата Сообщение от magirus Посмотреть сообщение
язычок придержи.
Научитесь вести себя сначала прилично, а уж потом другим что-то советуй!
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
18.10.2011, 06:43     Баги в Visual Studio 2010 #38
Цитата Сообщение от Сыроежка Посмотреть сообщение
И что делать?
Этот код НЕ должен компилироваться, т.к. класс Outer в строке 19 не известен. Нужно ещё using namespace X::Y добавить, для возможности компиляции.
xAtom
914 / 739 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
18.10.2011, 07:43     Баги в Visual Studio 2010 #39
Цитата Сообщение от Сыроежка Посмотреть сообщение
В MS VC++ 2010 также не мало глюков! Другое дело, что у вас не такая высокая квалификация, чтобы понять, что вы имеете дело с глюком.
Самый простой глюк MS VC++ 2010 (правда я обнаружил его до установки обновления SP1, так что не знаю, исправлен он уже или нет), это не возможность совершенно корректного определения
Код C++1
2
3
4 struct A
{
int A;
};
Сыроежка, это не глюк студии, а глюк твоей логики, без обид если что. При создание большой проги с заданиями одинаковых имён себе только гемору создаёшь в голове и в коде.
LosAngeles
Заблокирован
18.10.2011, 09:25     Баги в Visual Studio 2010 #40
xAtom, да он, тс, как бы нигде и не ратовал "за создание большой проги с заданиями одинаковых имён". Речь идёт именно о глюках студии, тема интересная так как их довольно много, но бесмысленная, так как о них можно и на сайте майкрософта почитать. Сыроежка, советую тебе почитать карнеги, хотя надеюсь ты так только на форуме выпендриваешься, если ты так на работе с колллегами общаешься, то тебе наверно весь отдел уже смерти желает)
kravam
18.10.2011, 13:53
  #41

Не по теме:

Чё, прикольно забаненого гнобить?

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2011, 17:10     Баги в Visual Studio 2010
Еще ссылки по теме:
C++ Visual Studio 2010
Проблемка с visual studio 2010 C++
Visual Studio 2010 Express C++
C++ visual studio 2010 problems
кнопки в Visual Studio (2010) C++

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

Или воспользуйтесь поиском по форуму:
LosAngeles
Заблокирован
13.11.2011, 17:10     Баги в Visual Studio 2010 #42
Баг или фича?
Yandex
Объявления
13.11.2011, 17:10     Баги в Visual Studio 2010
Ответ Создать тему
Опции темы

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