Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Каким компилятором С++ вы пользуетесь? Голосуем... 
:(
    Опции темы
 
Каким комилятором С++ вы пользуетесь?
Borland C++ Builder [ 11 ]  [10.48%]
Microsoft Visual Studio [ 47 ]  [44.76%]
Dev-C++ [ 11 ]  [10.48%]
Gnu C++ [ 22 ]  [20.95%]
MinGW [ 11 ]  [10.48%]
Другим [ 3 ]  [2.86%]
Всего проголосовавших: 105
В этом опросе возможен один вариант ответа
Гости не могут голосовать 
azesmcar
Дата 11.6.2009, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата(СтадоБаранов @  11.6.2009,  15:57 Найти цитируемый пост)

Хме... и статичные поля класса вне закона?... Это ошибка в gcc... Даже на линуксорге на эту тему срач был... кажется решение было найдено, нужно было пересобрать gcc с какими-то хитрыми параметрами... %)

Конкретнее...хочу видеть пример. Я множество раз использовал статические поля и не замечал никаких проблем.
PM   Вверх
andrew_121
Дата 11.6.2009, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



Цитата(azesmcar @  11.6.2009,  16:03 Найти цитируемый пост)
можете проверить, следовательно должен вызыватся и деструктор

Ни к чему проверять. Это естественно!


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
azesmcar
Дата 11.6.2009, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата(andrew_121 @  11.6.2009,  16:05 Найти цитируемый пост)
Ни к чему проверять. Это естественно! 

ну кому как smile я на всякий случай.
PM   Вверх
СтадоБаранов
Дата 11.6.2009, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 10.6.2009

Репутация: нет
Всего: нет



Ёма-на... эт не притензии к стандарту, а мои размышления... каждый видит что хочет...
azesmcar, меня деструктор = 0 ассоциировался с деструктором по умолчанию... попутал.. =0 - это неопределённость... т.е. вызывая деструктор такой он попадёт в никуда... чем повергает вселенную в ужас... XD нужно заглушку так сказать определить...
...

Яйца мне совсем не мешают, я решил проблему заменив поле класса на глобальную переменную... некрасиво, но что поделаешь?...
PM MAIL   Вверх
Lazin
Дата 11.6.2009, 16:36 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 27
Всего: 154



Цитата(СтадоБаранов @  11.6.2009,  15:57 Найти цитируемый пост)
как говорится... кушайте тролли дорогие... ну к примеру я хочу определить абстрактный класс, где тупо будет только интерфейс... набор методов, пустых. и нахрена ему деструктор?... Экземпляры этого класса никогда не будут созданы, а следовательно и уничтожены....


Код

class HerdOfSheep
{
public:
    virtual ~HerdOfSheep() = 0;
};

HerdOfSheep::~HerdOfSheep() {}//very smart trick!11

PM MAIL Skype GTalk   Вверх
azesmcar
Дата 11.6.2009, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата(СтадоБаранов @  11.6.2009,  16:31 Найти цитируемый пост)
Ёма-на... эт не притензии к стандарту, а мои размышления... каждый видит что хочет...
azesmcar, меня деструктор = 0 ассоциировался с деструктором по умолчанию... попутал.. =0 - это неопределённость... т.е. вызывая деструктор такой он попадёт в никуда... чем повергает вселенную в ужас... XD нужно заглушку так сказать определить...
...

Яйца мне совсем не мешают, я решил проблему заменив поле класса на глобальную переменную... некрасиво, но что поделаешь?... 

Я комментировал это
Цитата

иногда в GCC попадаются такие небольшие неприятные ошибки(или особенности?...)... Например тело виртуального деструктора не может быть пустым(недопустимо "virtual ~myclass() = 0;"),

я только хочу сказать что это не ошибки GCC и даже не особенности, это требование стандарта С++ и эта ошибка будет в любом нормальном компиляторе. 
Цитата

меня деструктор = 0 ассоциировался с деструктором по умолчанию

 smile чего? а есть и другие деструкторы?

Добавлено через 1 минуту и 29 секунд
Цитата(СтадоБаранов @  11.6.2009,  16:31 Найти цитируемый пост)
Яйца мне совсем не мешают, я решил проблему заменив поле класса на глобальную переменную... некрасиво, но что поделаешь?... 

а может эта проблема имеет другое решение? Все таки не хотите показать пример того что не работает?
PM   Вверх
andrew_121
Дата 11.6.2009, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



Цитата(СтадоБаранов @  11.6.2009,  16:31 Найти цитируемый пост)
меня деструктор = 0 ассоциировался с деструктором по умолчанию...

А их может быть несколько? smile 


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
zim22
Дата 11.6.2009, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(andrew_121 @  11.6.2009,  16:54 Найти цитируемый пост)
А их может быть несколько?

да, один на завтрак, один на обед. один в крапинку и не забываем про рыженький с рюшечкой. ЛОЛ.


--------------------
PM MAIL   Вверх
andrew_121
Дата 11.6.2009, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



zim22,  smile  smile  smile  smile 
Наверное в некоторых языках такое возможно. Наверное, возможно, у деструкторов еще и параметры есть. smile 


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
zim22
Дата 11.6.2009, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(andrew_121 @  11.6.2009,  17:54 Найти цитируемый пост)
Наверное в некоторых языках такое возможно

причём здесь некоторые языки? мы обсуждаем С++.


--------------------
PM MAIL   Вверх
andrew_121
Дата 11.6.2009, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



zim22, Похоже у чела ассоциация)


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
jhonyxakep
Дата 12.6.2009, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Divide Et Impera
**


Профиль
Группа: Участник
Сообщений: 983
Регистрация: 7.4.2009
Где: Что, Когда?

Репутация: 1
Всего: 8



Цитата

jhonyxakep, Слушай. Установи Dagital Mars. У него название крутое! 

Буду устанавливать всё с крутыми названиями!
PM MAIL ICQ   Вверх
andrew_121
Дата 12.6.2009, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



jhonyxakep, Это шутка была smile 
А если серьезно, то DJGPP, это лучший компилятор для DOS. Сам когда пользовал. Доволен!

Добавлено через 8 минут и 20 секунд
При том, для него есть allegro - multimedia library


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
UnrealMan
Дата 14.6.2009, 18:12 (ссылка) |   (голосов:5) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 722
Регистрация: 30.3.2006

Репутация: 5
Всего: 32



Цитата(azesmcar @  11.6.2009,  09:20 Найти цитируемый пост)
Для тех кто только начитает изучать язык, на мой взгляд лучше gcc

А как насчёт тех, кто хочет изучать C++ под виндой? Покажи хоть одну нормальную готовую сборку компилятор + стандартная библиотека + отладчик + IDE под win, которая по возможностям и удобству дотягивала бы до Visual Studio.

Цитата(azesmcar @  11.6.2009,  09:20 Найти цитируемый пост)
Студийный компилятор позволяет писать то, что не соответствует стандарту

О, можно подумать, gcc не позволяет?

Вот те раз:
Код
struct A {};
A::A a; // ill-formed
int main() {}

Вот те два:
Код
int main()
{
    int a = 1;
    enum { e = sizeof(char[1+a-a]) }; // ill-formed
}

Вот те три:
Код
struct B {};
struct D : B {};

int main()
{
    D d;
    d.~B(); // ill-formed
}

Вот те четыре:
Код
template <class T>
T f() { return T(); }

template <class T>
void g(T&) {}

int main()
{
    g(f<const int>()); // ill-formed
}

Вот те пять:
Код
struct B
{
    B() {}
};

struct D : B {};

int main()
{
    const D d; // ill-formed
}

gcc 4.1.2 всё это компилирует (проверялось тут).

Цитата(azesmcar @  11.6.2009,  10:36 Найти цитируемый пост)
Вообще уличить gcc в несоответствии стандарту пока что у меня не удавалось.

Гы-гы-гы smile Как много ты знаешь о gcc и как много ты знаешь о стандарте? Я не видел ни одного компилятора, полностью соответствующего стандарту (у меня даже на Comeau компромат есть, только я его вам не покажу smile). Хочешь увидеть некоторые баги gcc?

Вот те раз:
Код
template <class T>
struct A {};

template <class T, int N>
struct A<T*[N]>{};

int main()
{
    A<int*[10]>(); // well-formed
}

Вот те два:
Код
template <class T>
struct A
{
    typedef T type;
};

template <class T>
void f(T, typename A<T>::type *)
{
}

int main()
{
    f(0, 0); // well-formed
}

Вот те три:
Код
template <class T> struct Base {
    Base* p;
};
template <class T> struct Derived: public Base<T> {
    typename Derived::Base* p; // meaning Derived::Base<T>
};

int main()
{
    Derived<int> d;
    d.p = 0;
}

Вот те четыре:
Код
template <class T>
struct A
{
    static T i;
};

template <>
int A<int>::i;

int main()
{
    A<int>::i = 1; // well-formed
}

Вот те пять:
Код
#include <iostream>

struct A
{
    int i;
};
struct B
{
    B(struct C* c);
    A* a;
};
struct C : virtual A, B
{
    C() : B(this) {}
};

B::B(C* c) : a(c) {}

int main()
{
    C c;
    c.i = 1;
    std::cout << c.a->i << std::endl;
}

Первые три примера не компилируются, четвёртый не линкуется, пятый валится во время выполнения (проверялось там же, где и раньше). С точки зрения стандарта все примеры из этой пятёрки well-formed и без undefined behavior.
PM MAIL   Вверх
azesmcar
Дата 14.6.2009, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата(UnrealMan @  14.6.2009,  18:12 Найти цитируемый пост)
А как насчёт тех, кто хочет изучать C++ под виндой? Покажи хоть одну нормальную готовую сборку компилятор + стандартная библиотека + отладчик + IDE под win, которая по возможностям и удобству дотягивала бы до Visual Studio.

У Visual Studio лучший IDE на мой взгляд - (хотя признаю что это дело вкуса). Я знаю людей которым больше нравится SlickEdit.
Но мне студийный IDE + VisualAssistX нравится больше всего. Просто тут речь не о редакторе а о компиляторе, к студийному IDE можно подцепить GCC, если от этого тебе будет легче, новичкам начинающим изучать язык возможности студии не нужны, им нужен компилятор и более менее приличный IDE. CodeBlocks полностью соответствует этому требованию.

Цитата(UnrealMan @  14.6.2009,  18:12 Найти цитируемый пост)
О, можно подумать, gcc не позволяет?


Цитата(UnrealMan @  14.6.2009,  18:12 Найти цитируемый пост)
Гы-гы-гы smile Как много ты знаешь о gcc и как много ты знаешь о стандарте? 

Знаю достаточно чтобы понять что скрывает твой сарказм. Гы-гы-гы, как много ты знаешь обо мне, почитай повнимательней.
Я сказал что мне не удавалось, я не говорил что gcc идеален и я не говорил что тестировал его от начала до конца. К счастью таких извращений я никогда не писал и не замечал что они работают на GCC. И не встречал подобных извращений в кодах других людей.
У меня есть занятия поинтересней чем сидеть и тестировать компиляторы, я говорю о том что я встречал на практике а не копировал из стандарта все по очереди. Мне кажется это не сложно понять.

Цитата(UnrealMan @  14.6.2009,  18:12 Найти цитируемый пост)
у меня даже на Comeau компромат есть, только я его вам не покажу

как же я жить то буду? smile 
кстати если ты на GCC 5 всего нарыл, на студию можно нарыть гораздо больше..но поскольку я так чувствую что ты поклонник студии, тебе этим заниматся невыгодно, а мне - неохота. Желаю удачи.

п.с. По поводу компилятора я высказал свое мнение, оно неизменно..у тебя есть полное право высказать свое. На то и в заголовке виднеется слово форум.

Это сообщение отредактировал(а) azesmcar - 14.6.2009, 21:09
PM   Вверх
Страницы: (4) Все 1 2 [3] 4 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1168 ]   [ Использовано запросов: 24 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.