powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / C или C++
149 сообщений из 149, показаны все 6 страниц
C или C++
    #34144361
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
C или C++

Странная статья.

Кто-нибудь сталкивался с ошибками в современных популярных компиляторах?
Кто-нибудь сталкивался с ошибками в современных популярных библиотеках?
У меня на эти вопросы 2 нет.

Поэтому резюме мне кажется странным.

Поделитесь опытом. А так же - на счет работы программы на С++ в режиме 24/7.
...
Рейтинг: 0 / 0
C или C++
    #34144809
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
статья г. даже обсуждать нечего
...
Рейтинг: 0 / 0
C или C++
    #34144817
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
int main()
{
while(true);
return  0 ;
}
вот программа 24х7.

у меня есть программы которые работают неделями, но по независящим от них причинам не работают годами.
...
Рейтинг: 0 / 0
C или C++
    #34144830
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_kстатья г. даже обсуждать нечего

Т.е. все доводы просто придуманы?
...
Рейтинг: 0 / 0
C или C++
    #34144834
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Угу. Давайте все дружно на ассемблер пересядем. Там копмилятор проще не бывает, и, следовательно, ошибок в нем меньше.
...
Рейтинг: 0 / 0
C или C++
    #34144836
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей АлексеевичУгу. Давайте все дружно на ассемблер пересядем. Там копмилятор проще не бывает, и, следовательно, ошибок в нем меньше.

Я про доводы, которые он приводит. Собственно, вопросы, которые я задал.
...
Рейтинг: 0 / 0
C или C++
    #34144857
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_k ak> int main()
ak> {
ak> while(true);
ak> return 0;
ak> }

ak> вот программа 24х7.
эх, зачем же так грузить проц ?
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
C или C++
    #34144867
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Карабас Барабасда еще сутками
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
C или C++
    #34145144
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а ему не пофиг что делать?
или венда его грузить будет своим idle process или я :)

пусть работает короче :)
...
Рейтинг: 0 / 0
C или C++
    #34145239
<>
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
действительно, странная статья. доводы какие то надуманные:

автор Собственно поэтому можно уже сейчас оценить круг задач, которые лучше решать при помощи C++, чем C (при наличии, конечно же, хороших навыков программирования в обоих языках): это практически все программы, от которых не требуется беспрерывная работа 24 часа в сутки. Очень неприятно обнаружить, что программа, которая писалась и отлаживалась на каких-то тестовых примерах, не может выдержать реальной нагрузки и проблема кроется именно в том, что где-то глубоко внутри библиотеки, поставляемой с компилятором, не был реализован механизм блокировки доступа к разделяемому ресурсу.
а что, с++ знает что то о потоках и синхронизации? или это я отстал от жизни?

авторВ таких случаях выбор языка программирования C вместо C++ более предпочтителен, так как даст возможность изначально уменьшить количество непонятных проблем, возникающих в реальной эксплуатации программного продукта.

ну это если только для гуру, для которого решение проблем типа
1) ошибки в своем коде(коде коллеги)
2) неправильно настроенное окружение (операционка там, и т.д.)
3) ошибки в библиотеке ОС (а скорее всего опять же неправильное толкование кем либо работы используемой им библиотечной функции)
не вызывают никаких затруднений, и он начинает подозревать компилятор.

ошибки компилятора? теоретически может быть и такое, но по сравнению с п. 1)-3) они ->0

вывод: писал либо ужасный гуру, либо человек, который не знал о чем написать, но очень хотел, и высосал из пальца проблему, которую 99% разработчиков никогда не встретят.
...
Рейтинг: 0 / 0
C или C++
    #34145265
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aфтор
C позволяет программистам максимально контролировать (для языка программирования высокого уровня) программу, а C++ идет по пути усложнения компилятора, чтобы позволить программисту писать программу как ему будет "удобно". При этом, опять же, в идеальном случае, компилятор языка поймет желание программиста и полученный код будет все равно максимально эффективным (или близким к эффективному). С одной стороны, подход C++, не может не вызвать интереса и одобрения, так как дает возможность создания эффективных программ не снижая при этом их читабельность или удобство наращивания. Но с другой стороны --- повышение сложности компилятора сопряжено с различными трудностями, многие из которых до сих пор не преодолены .

Что значит максимально контролировать? Что именно контролировать? Что до сих пор - не преодолимо?

При этом стоит отметить потенциальную опасность C, который традиционно позволяет программисту делать все что угодно, зачастую пропуская его ошибки. Но эти ошибки выловить иногда значительно легче, чем объяснять различные странности , появляющиеся то тут, то там в программах на C++.

О каких странностях толкует чел? Где пример?

Короче... почитал.. и понял, что зря потерял время.

Афтор - боянист и старый п$@дун.
...
Рейтинг: 0 / 0
C или C++
    #34145470
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_kвенда его грузить будет своим idle processначиная с NT4.0, винда останавливает процессор, когда он не загружен
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
C или C++
    #34145471
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Карабас Барабас КБ> начиная с NT4.0, винда останавливает процессор, когда он
КБ> не загружена во-вторых, в многозадачной системе не работаешь сам - дай поработать другим - я так думаю :)
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
C или C++
    #34145683
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
<>вывод: писал либо ужасный гуру, либо человек, который не знал о чем написать, но очень хотел, и высосал из пальца проблему, которую 99% разработчиков никогда не встретят.

Да. У меня тоже сложилось такое впечатление. Но меня интересует обоснованность его доводов, о которых я написал в самом начале.

Я так понимаю, у форума аналогичное со мной мнение.
...
Рейтинг: 0 / 0
C или C++
    #34145692
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton aфтор
C позволяет программистам максимально контролировать (для языка программирования высокого уровня) программу, а C++ идет по пути усложнения компилятора, чтобы позволить программисту писать программу как ему будет "удобно". При этом, опять же, в идеальном случае, компилятор языка поймет желание программиста и полученный код будет все равно максимально эффективным (или близким к эффективному). С одной стороны, подход C++, не может не вызвать интереса и одобрения, так как дает возможность создания эффективных программ не снижая при этом их читабельность или удобство наращивания. Но с другой стороны --- повышение сложности компилятора сопряжено с различными трудностями, многие из которых до сих пор не преодолены .

Что значит максимально контролировать? Что именно контролировать? Что до сих пор - не преодолимо?

При этом стоит отметить потенциальную опасность C, который традиционно позволяет программисту делать все что угодно, зачастую пропуская его ошибки. Но эти ошибки выловить иногда значительно легче, чем объяснять различные странности , появляющиеся то тут, то там в программах на C++.

О каких странностях толкует чел? Где пример?

Короче... почитал.. и понял, что зря потерял время.

Афтор - боянист и старый п$@дун.

По всем комментаримям - может, автор, просто за 7 лет, так и не понял логики С++? Отсюда и "не контроллируемость", "странности", и глюки в библиотеках и компиляторах. Ведь так легко все глюки сволить на компилятор.
...
Рейтинг: 0 / 0
C или C++
    #34145697
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Карабас Барабас Карабас Барабас КБ> начиная с NT4.0, винда останавливает процессор, когда он
КБ> не загружена во-вторых, в многозадачной системе не работаешь сам - дай поработать другим - я так думаю :)

Увы, имхо, не всегда так бывает, пока сам не позаботишься.
...
Рейтинг: 0 / 0
C или C++
    #34146714
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
известный пример a<b<c>> d - это шаблоны или операции сравнения и сдвига?
Я с ошибками компилятора не встречался, а про 24/7 думаю, автор имеет в виду такое дело, что если какой-то класс из стандартной библиотеки инкапсулирует работу с неким системным ресурсом, то он не предоставляет богатства исходного апи в полной мере. И если при использовании самого апи очевидно, требуется ли синхронизация, то при использовании библиотечного класса это может оказаться не очевидным.
...
Рейтинг: 0 / 0
C или C++
    #34146891
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зерно истины в статье есть. C++ действительно ОЧЕНЬ сложный язык.
Но вывод безусловно параноидальный, хотя мне знакомы такие субъекты :)

Перефразируя автора: Если программисту нравится C пусть на нем и пишет :)
...
Рейтинг: 0 / 0
C или C++
    #34146995
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Зерно истины в статье есть. C++ действительно ОЧЕНЬ сложный язык.
Но вывод безусловно параноидальный, хотя мне знакомы такие субъекты :)

Перефразируя автора: Если программисту нравится C пусть на нем и пишет :)

Как на счет аргументов, которые он приводит?
...
Рейтинг: 0 / 0
C или C++
    #34147059
дед Макар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кг/ам
...
Рейтинг: 0 / 0
C или C++
    #34147182
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akh Gluk (Kazan)Зерно истины в статье есть. C++ действительно ОЧЕНЬ сложный язык.
Но вывод безусловно параноидальный, хотя мне знакомы такие субъекты :)

Перефразируя автора: Если программисту нравится C пусть на нем и пишет :)

Как на счет аргументов, которые он приводит?

Криминала не обнаружил. Паранойя присутствует
...
Рейтинг: 0 / 0
C или C++
    #34147367
Den_di
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Статья правильная. Написана человеком, немного знающим С и вообще толком не понимающего прелесть С++. Я тоже до конца не понимаю всех ньюансов и прога есть что-то вроде с-боразного с++, но написать легко большую программу с удобством переносимости и расширения, понятным интерфейсом трудно, но можно, что не у всех получается. Ну а на С это не так очевидно.
...
Рейтинг: 0 / 0
C или C++
    #34147493
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan) Akh
Как на счет аргументов, которые он приводит?

Криминала не обнаружил. Паранойя присутствует

С ошибками сталкивался
...
Рейтинг: 0 / 0
C или C++
    #34147495
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan) Akh
Как на счет аргументов, которые он приводит?

Криминала не обнаружил. Паранойя присутствует

С ошибками сталкивался?
...
Рейтинг: 0 / 0
C или C++
    #34147507
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Den_diСтатья правильная. Написана человеком, немного знающим С и вообще толком не понимающего прелесть С++. Я тоже до конца не понимаю всех ньюансов и прога есть что-то вроде с-боразного с++, но написать легко большую программу с удобством переносимости и расширения, понятным интерфейсом трудно, но можно, что не у всех получается. Ну а на С это не так очевидно.

Я, если жизнь не заставит, никогда не буду писать мало-мальски большой проект на С. Уже не предстовляю программирования без классов, шаблонов и, как раз не понятных автору статьи, но очень красивых констукций из всего этого.
...
Рейтинг: 0 / 0
C или C++
    #34147545
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akh Gluk (Kazan) Akh
Как на счет аргументов, которые он приводит?

Криминала не обнаружил. Паранойя присутствует

С ошибками сталкивался?

Бывало. Скажем так, с нетривиальным поведением. Иногда объяснимым, иногда оставшимся загадкой.
...
Рейтинг: 0 / 0
C или C++
    #34147559
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan) Akh
С ошибками сталкивался?
Бывало. Скажем так, с нетривиальным поведением. Иногда объяснимым, иногда оставшимся загадкой.

Не может быть так, что это из-за непонимания С++? Что это, именно, компилятор или библиотека.

Если можно - пример.
...
Рейтинг: 0 / 0
C или C++
    #34147594
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkhНе может быть так, что это из-за непонимания С++? Что это, именно, компилятор или библиотека.

Если можно - пример.

1. Возможно
2. Навскидку не вспомню

Если в очередной раз на что напорюсь, опубликую в эту ветку (не обещаю чт это будет завтра)
...
Рейтинг: 0 / 0
C или C++
    #34147612
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan) AkhНе может быть так, что это из-за непонимания С++? Что это, именно, компилятор или библиотека.

Если можно - пример.

1. Возможно
2. Навскидку не вспомню

Если в очередной раз на что напорюсь, опубликую в эту ветку (не обещаю чт это будет завтра)

Ок.

Не первый раз у меня этот вопрос возникает. И не обязательно в С++. Я, думаю, что в этом форуме, можно как раз и определить, глюк это компилятора или программиста. Пока более чем за пол года я не припомню ни одно случая, что виноват был компилятор.
...
Рейтинг: 0 / 0
C или C++
    #34147692
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
#include <stdio.h>
template<typename T>
class A
{
  public:
    T *x;
	  A(){ x=new T(); }
};

class B
{
public:
	B(){}
};

int main(void)
{
	A<A<B>> a;
 return  0 ;
}
корректный код?
...
Рейтинг: 0 / 0
C или C++
    #34147757
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmo A<A<B >> a;


нет
...
Рейтинг: 0 / 0
C или C++
    #34147766
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
выделение не получилось :)
корректно будет: A<A<B> > a;
...
Рейтинг: 0 / 0
C или C++
    #34147769
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
но это же просто скобочки :)
...
Рейтинг: 0 / 0
C или C++
    #34147790
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmoно это же просто скобочки :)

Сканер (который по стандарту отрабатывает раньше) считает иначе
...
Рейтинг: 0 / 0
C или C++
    #34147808
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmoкорректный код?

Компилятор g++ отловил неоднозначность.
...
Рейтинг: 0 / 0
C или C++
    #34147819
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkhКомпилятор g++ отловил неоднозначность.??? А ты можешь отловить неоднозначность?
...
Рейтинг: 0 / 0
C или C++
    #34147829
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.к. распознал операции между классами. Код
[SRC c++]
int x,y,z;
x<x<y>>z;
/SRC]
Отработает коректно.
...
Рейтинг: 0 / 0
C или C++
    #34147831
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmo AkhКомпилятор g++ отловил неоднозначность.??? А ты можешь отловить неоднозначность?

Да. Т.к. классы сравнивать нельзя.
...
Рейтинг: 0 / 0
C или C++
    #34149451
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну раз нельзя, значит нет неоднозначности
...
Рейтинг: 0 / 0
C или C++
    #34149457
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmoну раз нельзя, значит нет неоднозначности

Ну, да, вообще-то... Тогда ошибочное использование оператора.
...
Рейтинг: 0 / 0
C или C++
    #34149772
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Афтар лузер адназначна. Даже не падписался как чилавег.

С++ - действительно сложный язык и у него полно проблем, но не тех , что он называет в статье.

Писать сейчас на С можно только если там нет компилятора С++ (но где их теперь нет ?) или .... да ну не знаю что должно случится, чтобы не писать на С++.

Да, в реализациях STL есть ошибки ну и что - можно взять другой, можно ...

Да ну не хочу даже говорить об этом, нашли блин эксперта....
...
Рейтинг: 0 / 0
C или C++
    #34149805
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто-нибудь сталкивался с ошибками в современных популярных компиляторах?

Да, в MSVC. Но ошибка заключалась в падении компилятора при обработке исходника
с допустимой и валидной конструкцией (сложной, конечно).
Конкретно - шаблоны, VC 5.

Кто-нибудь сталкивался с ошибками в современных популярных библиотеках?

Я сам не нарывался на ошибки в MSVC-реализации STL, но они были , их много зафиксировано
в MS KB. Нарывался на ограничения реализации, но это другое.

Я сам нарывался например на ошибку в коде MFC, связанную с кодом класса CFile.
Это было в VC 2.0. Ну и что ? Это просто библиотека, что ж в ней ошибок не может быть ?

А так же - на счет работы программы на С++ в режиме 24/7.

Бред полный, дофига я думаю проектов 24/7 , написанных на С++.
По крайней мере никакое свойство С++ не снижает способность программы работать
24/7. А одно так прямо -таки повышает - это exceptions.
...
Рейтинг: 0 / 0
C или C++
    #34149810
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv M> Афтар лузер адназначна. Даже не падписался как чилавег.

M> С++ - действительно сложный язык и у него полно проблем,
M> но не тех , что он называет в статье.

M> Писать сейчас на С можно только если там нет компилятора
M> С++ (но где их теперь нет ?) или .... да ну не знаю что
M> должно случится, чтобы не писать на С++.

M> Да, в реализациях STL есть ошибки ну и что - можно взять
M> другой, можно ...

M> Да ну не хочу даже говорить об этом, нашли блин
M> эксперта....
сейчас модно это все одним словом выражать: КГ/АМ
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
C или C++
    #34149814
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что, с++ знает что то о потоках и синхронизации? или это я отстал от жизни?

Ни С, ни С++ не знают. Поэтому вообще упоминание этой проблемы в контексте С vs C++ - либо дешевая спекуляция, либо незнание.

вывод: писал либо ужасный гуру, либо человек, который не знал о чем написать, но очень хотел, и высосал из пальца проблему, которую 99% разработчиков никогда не встретят.

Во, вот именно. Статья ни о чем, ничего не дает, написана просто чтобы что-то написать.

Ну да интерфейс в этом смысле очень характерный ресурс, там много такого.
...
Рейтинг: 0 / 0
C или C++
    #34149870
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivКто-нибудь сталкивался с ошибками в современных популярных компиляторах?

Да, в MSVC. Но ошибка заключалась в падении компилятора при обработке исходника
с допустимой и валидной конструкцией (сложной, конечно).
Конкретно - шаблоны, VC 5.

Кто-нибудь сталкивался с ошибками в современных популярных библиотеках?

Я сам не нарывался на ошибки в MSVC-реализации STL, но они были , их много зафиксировано
в MS KB. Нарывался на ограничения реализации, но это другое.

Я сам нарывался например на ошибку в коде MFC, связанную с кодом класса CFile.
Это было в VC 2.0. Ну и что ? Это просто библиотека, что ж в ней ошибок не может быть ?

А так же - на счет работы программы на С++ в режиме 24/7.

Бред полный, дофига я думаю проектов 24/7 , написанных на С++.
По крайней мере никакое свойство С++ не снижает способность программы работать
24/7. А одно так прямо -таки повышает - это exceptions.

VC 5 и 2 могут называться современными? Я не думаю. Можно тогда и Symantec 1.0 вспомнить. Так что, на счет компилятора не согласен.

Также класс CFile из столь старой реализации, под понятие совеременной библиотеки не подходит.

Зачем ворочить древнее, когда им уже разработчики не пользуются.

В чем заключается повышение надежности exception, по отношению к return -1 (просто, вопрос)?

На счет "в библиотеке ошибок не может быть?". Не должно быть во всяком случае. Если они есть это не гуд, и такой библиотекой надо пользоваться с опаской, а лучше вообще ее исключить из набора используемых средств.
...
Рейтинг: 0 / 0
C или C++
    #34149879
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkhНу, да, вообще-то... Тогда ошибочное использование оператора.какого оператора? Это же скобочки :)
...
Рейтинг: 0 / 0
C или C++
    #34149881
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivДа, в реализациях STL есть ошибки

Пример мона?
...
Рейтинг: 0 / 0
C или C++
    #34149886
pandrew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivвывод: писал либо ужасный гуру, либо человек, который не знал о чем написатьГрафоман однозначно.
Гуру последовательно развивается, меняет платформы, языки, размер управляемого софта. Смена языка для него естественный процесс: накатать на ассемблере мини-ОС можно (например OS IBM/360), но написать работоспособные Винды даже на C уже не получится. Как не получится в сарае собрать болид формулы-1.
...
Рейтинг: 0 / 0
C или C++
    #34149890
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmo AkhНу, да, вообще-то... Тогда ошибочное использование оператора.какого оператора? Это же скобочки :)

+= и + = совсем разные вещи.

+= в определенном контексте использовать можно, а + = нельзя.
То же самое и с этим.

Так что не надо ля-ля. :)
...
Рейтинг: 0 / 0
C или C++
    #34149895
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkhТакже класс CFile из столь старой реализации, под понятие совеременной библиотеки не подходит.
Зачем ворочить древнее, когда им уже разработчики не пользуются.это цэ файлом-то не пользуются?
...
Рейтинг: 0 / 0
C или C++
    #34149906
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pandrew MasterZivвывод: писал либо ужасный гуру, либо человек, который не знал о чем написатьГрафоман однозначно.
Гуру последовательно развивается, меняет платформы, языки, размер управляемого софта. Смена языка для него естественный процесс: накатать на ассемблере мини-ОС можно (например OS IBM/360), но написать работоспособные Винды даже на C уже не получится. Как не получится в сарае собрать болид формулы-1.

Мне, например, фообще пох, Алаксандрески это написал или двоечник по информатики 10-го класса школы. А так же пох, к каким выводам он пришел. Меня интесует вопрос, который он тронул - надежность работы корректно написаной программы.
...
Рейтинг: 0 / 0
C или C++
    #34149911
pandrew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkhНа счет "в библиотеке ошибок не может быть?". Не должно быть во всяком случае. Если они есть это не гуд, и такой библиотекой надо пользоваться с опаской, а лучше вообще ее исключить из набора используемых средств.
В каждой программе есть хотя бы одна ошибка - народная мудрость.
У каждого свои тараканы - английская пословица.
...
Рейтинг: 0 / 0
C или C++
    #34149915
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmo AkhТакже класс CFile из столь старой реализации, под понятие совеременной библиотеки не подходит.
Зачем ворочить древнее, когда им уже разработчики не пользуются.это цэ файлом-то не пользуются?

Я думаю CFile из 2.0 отличается от 6.0 .. 8.0.
...
Рейтинг: 0 / 0
C или C++
    #34149921
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pandrewВ каждой программе есть хотя бы одна ошибка - народная мудрость.
У каждого свои тараканы - английская пословица.

Если программа работает без ошибок, то там их по крайней мере две - одна перекрывает результат первой. :)
...
Рейтинг: 0 / 0
C или C++
    #34149926
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkhТак что не надо ля-ля. :)не ну там же видно, что это темплейтный класс, значит за ним пойдут скобочки. А + = никогда нельзя использовать
...
Рейтинг: 0 / 0
C или C++
    #34149940
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akh A> Если программа работает без ошибок, то там их по крайней
A> мере две - одна перекрывает результат первой. :)обычно говорит в таких случаях, что колчество ошибок четное
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
C или C++
    #34149969
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmo AkhТак что не надо ля-ля. :)не ну там же видно, что это темплейтный класс, значит за ним пойдут скобочки. А + = никогда нельзя использовать

Не скобочки, а оператор >>. Может программист хотел конструкцию A<A< сдвинуть в право на B>>? Пути господни неисповедимы. :)
...
Рейтинг: 0 / 0
C или C++
    #34150063
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akh

В чем заключается повышение надежности exception, по отношению к return -1 (просто, вопрос)?



Надежность это вторично, первично то, что писать и отлаживать удобнее.

Например:
1. Если нужно выпрыгнуть через вызовы на несколько уровней выше(раскрутить стек).
2. Когда функция должна возвращаеть адрес, а вернуть его не может.

В класс исключении можно добавить много полезной информации для
решения проблемы с возникшей ошибкой как на уровне кода
так и на уровне отладки софта.
...
Рейтинг: 0 / 0
C или C++
    #34150096
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
onstat- Akh

В чем заключается повышение надежности exception, по отношению к return -1 (просто, вопрос)?



Надежность это вторично, первично то, что писать и отлаживать удобнее.

Например:
1. Если нужно выпрыгнуть через вызовы на несколько уровней выше(раскрутить стек).
2. Когда функция должна возвращаеть адрес, а вернуть его не может.

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

Да, в различных случаях exception удобней. Это видно и не вооруженным взглядом. Но ту же надежность можно реализовать и без exception, другой вопрос на сколько это будет не удобней и сложней. Т.е. можно сказать, что бывает легче реализовать надежность через exception.
...
Рейтинг: 0 / 0
C или C++
    #34150170
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkhНе скобочки, а оператор >>. Может программист хотел конструкцию A<A< сдвинуть в право на B>>? Пути господни неисповедимы. :)как он мог этого хотеть? Это бессмыслица. Сам же говоришь, нельзя классы сравнивать и тем более сдвигать. Или можно? Как там у нас со статическими операторами?
...
Рейтинг: 0 / 0
C или C++
    #34150208
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmo AkhНе скобочки, а оператор >>. Может программист хотел конструкцию A<A< сдвинуть в право на B>>? Пути господни неисповедимы. :)как он мог этого хотеть? Это бессмыслица. Сам же говоришь, нельзя классы сравнивать и тем более сдвигать. Или можно? Как там у нас со статическими операторами?

Читать стандарт до просветления.
Сканеру глубоко фиолетово классы там или объекты. Он ищет лексемы
...
Рейтинг: 0 / 0
C или C++
    #34150259
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а угловые скобочки уже не лексема?
...
Рейтинг: 0 / 0
C или C++
    #34150273
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а конечно понимаю, что компилятор можно понять, но понять не значит простить.
...
Рейтинг: 0 / 0
C или C++
    #34150300
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmo AkhНе скобочки, а оператор >>. Может программист хотел конструкцию A<A< сдвинуть в право на B>>? Пути господни неисповедимы. :)как он мог этого хотеть? Это бессмыслица.

Это возможная ошибка. Бессмысленная или нет - а судьи кто?
...
Рейтинг: 0 / 0
C или C++
    #34150319
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
где там возможная ошибка? Создаётся просто-напросто объект темлейтного класса. Что не нравится-то?
...
Рейтинг: 0 / 0
C или C++
    #34150332
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmoа конечно понимаю, что компилятор можно понять, но понять не значит простить.

Он же в интересах программиста так действует. Ограничивает его от ошибок. Тем более, не знаю как другие компиляторы, но g++, вообще, говорит программисту не только об возможной ошибке, но и о том, что он [компилятор], понимает идею программиста, и с большой долей вероятности считает, что программист хочет поступить именно так. Поэтому он рассказывает о решении, которое надо предпринять, чтобы убрать этот оператор.

Может и можно было обойтись варнингом, но здесь наезд на оператор, что, компилятор считает более серьезным недосмотром.
...
Рейтинг: 0 / 0
C или C++
    #34150353
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmoгде там возможная ошибка? Создаётся просто-напросто объект темлейтного класса. Что не нравится-то?

Кто сказал, что он создается? Так программист думает. А компилятор видит здесь еще одно трактование - неверное логическо-арифметическое выражение.
...
Рейтинг: 0 / 0
C или C++
    #34150359
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akhно здесь наезд на операторгде там оператор-то? Что он, уже не может оператор от скобочки отличить?
...
Рейтинг: 0 / 0
C или C++
    #34150377
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkhА компилятор видит здесь еще одно трактование - неверное логическо-арифметическое выражение.о как! A<B> a; A<A<B>> a; - почему одно из них верно, а другое нет?
...
Рейтинг: 0 / 0
C или C++
    #34150388
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
могу скобочки расставить в каждом случае
(A<B)> a; (A<A)<(B>> a);
и чем одно лучше другого?
...
Рейтинг: 0 / 0
C или C++
    #34150455
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmo Akhно здесь наезд на операторгде там оператор-то? Что он, уже не может оператор от скобочки отличить?

maXmo, ты упорно не понимаешь, что я тебе говорю. Посмотри на проблему со стороны "компилятор действует в интересах программиста"
...
Рейтинг: 0 / 0
C или C++
    #34150500
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmoа конечно понимаю, что компилятор можно понять, но понять не значит простить.

Еще раз по буквам: Это оговоренное СТАНДАРТОМ поведение
...
Рейтинг: 0 / 0
C или C++
    #34150504
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmo AkhА компилятор видит здесь еще одно трактование - неверное логическо-арифметическое выражение.о как! A<B> a; A<A<B>> a; - почему одно из них верно, а другое нет?

В первом случае не возможно конкретизировать требуемое.
...
Рейтинг: 0 / 0
C или C++
    #34150507
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan) maXmoа конечно понимаю, что компилятор можно понять, но понять не значит простить.

Еще раз по буквам: Это оговоренное СТАНДАРТОМ поведение

И это логически подтверждается.
...
Рейтинг: 0 / 0
C или C++
    #34151390
Утёс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А какого года это вообще статья? ))
...
Рейтинг: 0 / 0
C или C++
    #34151404
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
УтёсА какого года это вообще статья? ))

ХЗ. Публикация от 08.11.2006
...
Рейтинг: 0 / 0
C или C++
    #34151857
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашел я этото чудика. Некто Андрей Калинин .

Вот сцыла на один из первоисточников ИМХО

http://www.codenet.ru/progr/cpp/ccpp.php
...
Рейтинг: 0 / 0
C или C++
    #34152322
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНашел я этото чудика. Некто Андрей Калинин .

Вот сцыла на один из первоисточников ИМХО

http://www.codenet.ru/progr/cpp/ccpp.php

сам первоисточник Июль 2001-го года. Не знаю, тогда, может и была статья актуальной.
...
Рейтинг: 0 / 0
C или C++
    #34152328
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сиПП феорва

аффтопитезь
...
Рейтинг: 0 / 0
C или C++
    #34152368
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Калинин в своем резюме:


http://www.kalinin.ru/about/ Язык C++ знаю относительно хорошо (относительно многих; это, надеюсь, заметно по исходным текстам, которые высылаются по требованию). Работаю с компиляторами: g++ (ранее с egcs, но сейчас они объединились), Borland C++, MS VC++ (хотя этот совсем не нравится), Digital CXX. Читал стандарт языка C++ ;) Знаю и использую STL. C в чистом виде знаю несколько хуже (реже использовал).
...
Рейтинг: 0 / 0
C или C++
    #34152893
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akh
VC 5 и 2 могут называться современными? Я не думаю. Можно тогда и Symantec 1.0 вспомнить. Так что, на счет компилятора не согласен.
...
На счет "в библиотеке ошибок не может быть?". Не должно быть во всяком случае. Если они есть это не гуд, и такой библиотекой надо пользоваться с опаской, а лучше вообще ее исключить из набора используемых средств.

Ошибки были и будут везде и всегда. Язык меняется, библиотеки тоже меняются (добавляются новые фичи) и так далее. Вот например в VC 2005 переписаны и CRTL, и STL, и компилятор.
И кстати IDE (по отношению к VC6).

Будут в ней ошибки ? Конечно будут ! Это неизбежно, но это не значит, что не надо использовать С++.
Есть другие компиляторы, есть предыдущие более стабильные может быть версии и т.п.
...
Рейтинг: 0 / 0
C или C++
    #34152897
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akh MasterZivДа, в реализациях STL есть ошибки

Пример мона?

Да поищи сам в Microsoft Knowledge base.
...
Рейтинг: 0 / 0
C или C++
    #34153066
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv Akh
VC 5 и 2 могут называться современными? Я не думаю. Можно тогда и Symantec 1.0 вспомнить. Так что, на счет компилятора не согласен.
...
На счет "в библиотеке ошибок не может быть?". Не должно быть во всяком случае. Если они есть это не гуд, и такой библиотекой надо пользоваться с опаской, а лучше вообще ее исключить из набора используемых средств.

Ошибки были и будут везде и всегда. Язык меняется, библиотеки тоже меняются (добавляются новые фичи) и так далее. Вот например в VC 2005 переписаны и CRTL, и STL, и компилятор.
И кстати IDE (по отношению к VC6).

Будут в ней ошибки ? Конечно будут ! Это неизбежно, но это не значит, что не надо использовать С++.
Есть другие компиляторы, есть предыдущие более стабильные может быть версии и т.п.

Не стоит путать не переносимость версий и ошибки в версиях. Пока конкретных ошибок преведено не было.
...
Рейтинг: 0 / 0
C или C++
    #34153067
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv Akh MasterZivДа, в реализациях STL есть ошибки

Пример мона?

Да поищи сам в Microsoft Knowledge base.

Как нибудь покапаюсь.
...
Рейтинг: 0 / 0
C или C++
    #34154004
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитал. Другие публикации автора. Разобрался. И пришел к выводу, Андрей - человек вполне адекватный.

По сабжу - прошу у него прощения за своё грубое высказывание в его адрес (если он это прочтет).

Однако своих вопросов по С/C++ с повестки дня не снимаю.

C уважением
Lord Mayton
...
Рейтинг: 0 / 0
C или C++
    #34154107
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonОднако своих вопросов по С/C++ с повестки дня не снимаю.

Какие? Про странности и контроль?

Так мне кажется, что это из-за недопонимания логики С++.
...
Рейтинг: 0 / 0
C или C++
    #34154120
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это случайно не вы?

C уважением
Lord Mayton
...
Рейтинг: 0 / 0
C или C++
    #34154149
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не я
...
Рейтинг: 0 / 0
C или C++
    #34154169
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЭто случайно не вы?

К кому обращение? ;)
...
Рейтинг: 0 / 0
C или C++
    #34155281
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akh maytonЭто случайно не вы?

К кому обращение? ;)
Мне в какой-то момент показалось, что Андрей Калинин - это вы. По крайней мере буквы инициалов совпадают в вашим ником Akh.
...
Рейтинг: 0 / 0
C или C++
    #34155400
акуз ЦИК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AklinсиПП ф оре ва

аффтопитезь

+1
...
Рейтинг: 0 / 0
C или C++
    #34156724
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton Akh maytonЭто случайно не вы?

К кому обращение? ;)
Мне в какой-то момент показалось, что Андрей Калинин - это вы. По крайней мере буквы инициалов совпадают в вашим ником Akh.

Нэт. Андрей, да не тот. :)
...
Рейтинг: 0 / 0
C или C++
    #34159986
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ещё одна чётко задокументированная багофича.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
template<typename T, typename U>
class A
{
  public:
	T *t; U *u;
	A(){ t=new T(); }
	~A(){ delete t; }
};

class B
{
public:
	B(){}
};

#define newInstance(typ) new typ()

int main(void)
{
	A<B,B> *a=newInstance(A<B,B>);
	delete a;
	return  0 ;
}
...
Рейтинг: 0 / 0
C или C++
    #34160077
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmoещё одна чётко задокументированная багофича.

А где задокументирована эта "бага"? По мне так, это просто ограничения, связанные с более простым синтаксисом препроцесора, по сравнению с с++
...
Рейтинг: 0 / 0
C или C++
    #34160328
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таких "багов" мульон можно найти.
Взять те-же триграфы
...
Рейтинг: 0 / 0
C или C++
    #34160371
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в свиче нельзя создавать глобальные переменные, когда кейсы, есть потом. Как к этому относиться?
...
Рейтинг: 0 / 0
C или C++
    #34160430
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообще-то глобальные переменные объявляются вне исполняемого кода
...
Рейтинг: 0 / 0
C или C++
    #34160446
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmoвообще-то глобальные переменные объявляются вне исполняемого кода

Имел ввиду глобальную на свич:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
switch () {
case:
int i;

case:
}


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
switch () {
case:
{
int i;
}
case:
}

...
Рейтинг: 0 / 0
C или C++
    #34160504
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
	int a= 1 ;
	switch(a)
	{
	case  0 :
		int b;
		break;
	case  1 :
		b= 5 ;
		break;
	default: break;
	}
хмм... у меня пашет...
...
Рейтинг: 0 / 0
C или C++
    #34160525
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
g++ говорит так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <sys/time.h>


int main () {
    
    int i= 2 ;
    switch (i) {
	case  2 :
	    int b= 3 ;
	    printf("%d\n", b);
	case  0 :
	    printf("0\n");
    }


    return  0 ;
}

g++
c.cpp: In function `int main()':
c.cpp:14: error: jump to case label
c.cpp:12: error: crosses initialization of `int b'
...
Рейтинг: 0 / 0
C или C++
    #34160552
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С присваеванием нормально, с инициализацией нет.
...
Рейтинг: 0 / 0
C или C++
    #34160591
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
int b;
b= 3 ;
нормально? Вообще правильно говорит - пропускать инициализацию нехорошо.
...
Рейтинг: 0 / 0
C или C++
    #34160594
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
переменная-то создаётся? :) Создаётся.
...
Рейтинг: 0 / 0
C или C++
    #34160604
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmoпеременная-то создаётся? :) Создаётся.

а
Код: plaintext
1.
int b;
это ж инициализация по умолчанию? Или я не прав.
...
Рейтинг: 0 / 0
C или C++
    #34160606
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хмм... а такой код даёт только варнинг
Код: plaintext
1.
2.
goto z;
int a= 1 ;
z: printf("%i",a);
...
Рейтинг: 0 / 0
C или C++
    #34160623
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akhэто ж инициализация по умолчанию?и каким значением инициализируется?
...
Рейтинг: 0 / 0
C или C++
    #34160627
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmoхмм... а такой код даёт только варнинг
Код: plaintext
1.
2.
goto z;
int a= 1 ;
z: printf("%i",a);


g++ еррор дает.
...
Рейтинг: 0 / 0
C или C++
    #34160633
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
	int a;
	printf("%i",a);
гы, компилится нормально, но при запуске происходит ТАКОЕ... :)
...
Рейтинг: 0 / 0
C или C++
    #34160654
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmo Akhэто ж инициализация по умолчанию?и каким значением инициализируется?

Не знаю. Для классов когда то встречал, что-то подобное. Когда в map.insert класс пихал без конструктора без параметров, то он мне, вроде так и писал, что мол, не могу найти дефолтную инициалзацию для класса (зачем то ему был нужен, для поиска что ли?). Я так понял это конструктор без параметров. Но в обычных случаях компилятор пишет, что конструктра такого нет.
Может дефолтная инициализация только для классов?
...
Рейтинг: 0 / 0
C или C++
    #34160663
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmo
Код: plaintext
1.
	int a;
	printf("%i",a);
гы, компилится нормально, но при запуске происходит ТАКОЕ... :)

Значит дефолтная инициализация только для классов.
...
Рейтинг: 0 / 0
C или C++
    #34160673
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmoхмм... а такой код даёт только варнинг
Код: plaintext
1.
2.
goto z;
int a= 1 ;
z: printf("%i",a);


Да кстати, чем компилил? Разные реакции на один и тот же момент. Это уже глюк, наверное. :)
...
Рейтинг: 0 / 0
C или C++
    #34160745
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmo
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
	int a= 1 ;
	switch(a)
	{
	case  0 :
		int b;
		break;
	case  1 :
		b= 5 ;
		break;
	default: break;
	}
хмм... у меня пашет...

Не должно
...
Рейтинг: 0 / 0
C или C++
    #34160884
I)
Автор смешал в одну кучу
1. Языки
2. Компиляторы
3. Библиотеки
и пытается обосновать "слабость" С++ наличием ошибок в библиотеках (в частности)

II)
Сама постановка вопроса "C vs C++" - абсурдна. У каждого из этих языков своя область применения, хотя, конечно, есть и некое подмножество задач, допускающее использование как С так и С++.

Причем одно из преимуществ как С так и С++ - родственный синтаксис, упрощающий разработчику переход с одного языка на другой.

Гавриленко Сергей АлексеевичУгу. Давайте все дружно на ассемблер пересядем. Там копмилятор проще не бывает, и, следовательно, ошибок в нем меньше.
Вот именно. Только можно идею "расширить и углубить" - откажемся от компилятора вообще и будем HEX-редактором коды набивать...

Akh
Кто-нибудь сталкивался с ошибками в современных популярных библиотеках?

Сталкивался, но сути дела это не меняет.
...
Рейтинг: 0 / 0
C или C++
    #34160886
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan) maXmo
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
	int a= 1 ;
	switch(a)
	{
	case  0 :
		int b;
		break;
	case  1 :
		b= 5 ;
		break;
	default: break;
	}
хмм... у меня пашет...

Не должно

Так g++ тоже это пропускает.
...
Рейтинг: 0 / 0
C или C++
    #34161311
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарольЗабылI)
Автор смешал в одну кучу
1. Языки
2. Компиляторы
3. Библиотеки
и пытается обосновать "слабость" С++ наличием ошибок в библиотеках (в частности)

II)
Сама постановка вопроса "C vs C++" - абсурдна. У каждого из этих языков своя область применения, хотя, конечно, есть и некое подмножество задач, допускающее использование как С так и С++.

Причем одно из преимуществ как С так и С++ - родственный синтаксис, упрощающий разработчику переход с одного языка на другой.

Гавриленко Сергей АлексеевичУгу. Давайте все дружно на ассемблер пересядем. Там копмилятор проще не бывает, и, следовательно, ошибок в нем меньше.
Вот именно. Только можно идею "расширить и углубить" - откажемся от компилятора вообще и будем HEX-редактором коды набивать...

Akh
Кто-нибудь сталкивался с ошибками в современных популярных библиотеках?

Сталкивался, но сути дела это не меняет.

Да, понятно уже всем.
Пример можно?
...
Рейтинг: 0 / 0
C или C++
    #34161440
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkhЗначит дефолтная инициализация только для классов.ну да, в каждой книжке по сишнику (было) написано, что неинициализированная переменная содержит треш.

AkhДа кстати, чем компилил?вс

Gluk (Kazan)Не должноа чо не так? Тоже багофича?
...
Рейтинг: 0 / 0
C или C++
    #34161777
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan) maXmo
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
	int a= 1 ;
	switch(a)
	{
	case  0 :
		int b;
		break;
	case  1 :
		b= 5 ;
		break;
	default: break;
	}
хмм... у меня пашет...

Не должно

переменные создаются в начале, как бы это не было фигово. просто описывать их везде можно.
инициализированные ( с каким-то значением) и неиниц. в разных секциях. так же как статические и динамические.
...
Рейтинг: 0 / 0
C или C++
    #34161784
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akh
Да, понятно уже всем.
Пример можно?

если понятно, то доказано. зачем же тогда пример для избыточного доказательства???
...
Рейтинг: 0 / 0
C или C++
    #34161894
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklin Gluk (Kazan) maXmo
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
	int a= 1 ;
	switch(a)
	{
	case  0 :
		int b;
		break;
	case  1 :
		b= 5 ;
		break;
	default: break;
	}
хмм... у меня пашет...

Не должно

переменные создаются в начале, как бы это не было фигово. просто описывать их везде можно.
инициализированные ( с каким-то значением) и неиниц. в разных секциях. так же как статические и динамические.

Создаются в какой момент и где, это не имеет значения. Важно то, что когда программа доходит до их определения (локальные), то она прозводит их инициализацию (вызов конструктора(классы) или присваивание(скаляры, или как их там)), если это требуется. Вопрос в том, можно ли в секции скипать инициализацию, если не неоходима для данного типа. Если компилятор считает, что нельзя, то почему он в вижуал си разрешает это с goto? Если можно, то почему он в свичах запрещает?
И почему нельзя? Если переменная может использоваться без инициализации, то почему в этом случае он запрещает? Двойной инициализации произойти не может, т.к. определятся переменная может только один раз.
...
Рейтинг: 0 / 0
C или C++
    #34161937
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkhСоздаются в какой момент и где, это не имеет значения. Важно то, что когда программа доходит до их определения (локальные), то она прозводит их инициализацию (вызов конструктора(классы) или присваивание(скаляры, или как их там)), если это требуется. да
AkhВопрос в том, можно ли в секции скипать инициализацию, если не неоходима для данного типа. Если компилятор считает, что нельзя, то почему он в вижуал си разрешает это с goto? Если можно, то почему он в свичах запрещает?
скипать иницаилизация в смысле? изпользовать после goto l то что написано между goto и l ??? переменная создается. и сидит в памяти. микрософт дает скорее варинг - не присвоено значение

свичь - отдельная песня (см ниже)
Akh
И почему нельзя? Если переменная может использоваться без инициализации, то почему в этом случае он запрещает?
переменная не может быть использована без создания, но модет без инициализации (присваивания значение по-ум.)
AkhДвойной инициализации произойти не может, т.к. определятся переменная может только один раз.

существует такая гадкая весчь - пространство имен :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
    int i, a, b;
    a =  10 ;
    for( i= 1 ; i<= 1 ; i++ )
    {
        int a;
        a =  2 ;
        b = a;
    }
    i = a;
...
Рейтинг: 0 / 0
C или C++
    #34161984
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklin...

Скажи честно, ты последние 2 листа топика читал (особенно пердпоследний в конце, про инициализацию)?

Просто не охота по новой собирать то, что уже написано.
...
Рейтинг: 0 / 0
C или C++
    #34161992
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklin Akh
Да, понятно уже всем.
Пример можно?

если понятно, то доказано. зачем же тогда пример для избыточного доказательства???

Честно, блин, почитай топик (это в первом листе, вроде)
...
Рейтинг: 0 / 0
C или C++
    #34164247
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkhДвойной инициализации произойти не может, т.к. определятся переменная может только один раз.
Код: plaintext
1.
2.
3.
	int b= 1 ;
z:
	int a= 1 ;
	if(b--)goto z;
даже не пикнул. Чего, смотрим асмовый код, сколько там у нас инициализаций?
...
Рейтинг: 0 / 0
C или C++
    #34164333
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklin
существует такая гадкая весчь - пространство имен :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
    int i, a, b;
    a =  10 ;
    for( i= 1 ; i<= 1 ; i++ )
    {
        int a;
        a =  2 ;
        b = a;
    }
    i = a;



Наврное Вы имели ввиду область видимости(scope),
а не пространство имен(name space).
...
Рейтинг: 0 / 0
C или C++
    #34164357
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmo AkhДвойной инициализации произойти не может, т.к. определятся переменная может только один раз.
Код: plaintext
1.
2.
3.
	int b= 1 ;
z:
	int a= 1 ;
	if(b--)goto z;
даже не пикнул. Чего, смотрим асмовый код, сколько там у нас инициализаций?

Имел ввиду 2 различных способа инициализации переменной в секции.

Вообщем, сходу, найти здесь логику не получается.
...
Рейтинг: 0 / 0
C или C++
    #34164435
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmoсмотрим асмовый код, сколько там у нас инициализаций?

Код: plaintext
1.
2.
3.
4.
    int i =  0 ;
    if( i== 0  )goto label_1;
    int a= 1 ;
label_1:  i = a;
...
Рейтинг: 0 / 0
C или C++
    #34164440
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
к пред. сообщению: данный if и следовательно прыжок уводит от a=1, получаем случайное значение a

аффтопитезь
...
Рейтинг: 0 / 0
C или C++
    #34164448
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkhЧестно, блин, почитай топик (это в первом листе, вроде)

честно.
читал.
...
Рейтинг: 0 / 0
C или C++
    #34164457
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmo AkhДвойной инициализации произойти не может, т.к. определятся переменная может только один раз.
Код: plaintext
1.
2.
3.
	int b= 1 ;
z:
	int a= 1 ;
	if(b--)goto z;
даже не пикнул. Чего, смотрим асмовый код, сколько там у нас инициализаций?

замечу: переменная сидит в стеке, а в создании под нее отводится место. двойного отведения места нету.
a=1 выполнитться столько-то раз.
...
Рейтинг: 0 / 0
C или C++
    #34164466
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
паскриптум к пред. 4 сообщениям : gсс

аффтопитезь
...
Рейтинг: 0 / 0
C или C++
    #34164508
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklin maXmo AkhДвойной инициализации произойти не может, т.к. определятся переменная может только один раз.
Код: plaintext
1.
2.
3.
	int b= 1 ;
z:
	int a= 1 ;
	if(b--)goto z;
даже не пикнул. Чего, смотрим асмовый код, сколько там у нас инициализаций?

замечу: переменная сидит в стеке, а в создании под нее отводится место. двойного отведения места нету.
a=1 выполнитться столько-то раз.

В этом контексте иницилизация - логическое создание переменной (классы - конструктор). Т.к. компилятор еррорит int b=1, а int b; b=1 пропускает, то по, всей видимости, причина такого поведения, именно в инициализации не по умолчанию.
Для скаляров, инициализация по умолчанию - ничего не делает, для классов, это, видимо, конструктор без параметров.
Можно, кстати, посмотреть, как поведет себя компилятор, если в использованных примерах с применением свича вместо int-а поставить какой-нибудь класс.
...
Рейтинг: 0 / 0
C или C++
    #34164574
акуз ЦИК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkhВ этом контексте иницилизация - логическое создание переменной (классы - конструктор). Т.к. компилятор еррорит int b=1, а int b; b=1 пропускает, то по, всей видимости, причина такого поведения, именно в инициализации не по умолчанию.
Для скаляров, инициализация по умолчанию - ничего не делает, для классов, это, видимо, конструктор без параметров.
Можно, кстати, посмотреть, как поведет себя компилятор, если в использованных примерах с применением свича вместо int-а поставить какой-нибудь класс.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
    int b= 1 ;
label_1:
    asm("nop");
    int a= 1 ;
    if(b--)goto label_1;

    int i;
    i = a;

по ходу ошибка была в отсутствии этого nop а, т.е. метка указывала на создание переменной, что делать нельзя.
...
Рейтинг: 0 / 0
C или C++
    #34166073
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
акуз ЦИК AkhВ этом контексте иницилизация - логическое создание переменной (классы - конструктор). Т.к. компилятор еррорит int b=1, а int b; b=1 пропускает, то по, всей видимости, причина такого поведения, именно в инициализации не по умолчанию.
Для скаляров, инициализация по умолчанию - ничего не делает, для классов, это, видимо, конструктор без параметров.
Можно, кстати, посмотреть, как поведет себя компилятор, если в использованных примерах с применением свича вместо int-а поставить какой-нибудь класс.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
    int b= 1 ;
label_1:
    asm("nop");
    int a= 1 ;
    if(b--)goto label_1;

    int i;
    i = a;

по ходу ошибка была в отсутствии этого nop а, т.е. метка указывала на создание переменной, что делать нельзя.

Выделение памяти в стеке?
...
Рейтинг: 0 / 0
C или C++
    #34167971
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akh акуз ЦИК
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
    int b= 1 ;
label_1:
    asm("nop");
    int a= 1 ;
    if(b--)goto label_1;

    int i;
    i = a;

по ходу ошибка была в отсутствии этого nop а, т.е. метка указывала на создание переменной, что делать нельзя.

Выделение памяти в стеке?

что-нибудь вроде того, но! на этапе подготовки кода. а по заврешенпю онной строка удалилась, и как вывод, метка указала в пустоту.
другими словами, хоть в стеке место считается по коичеству int ов в коде, но указывать напрямую на инт низзя
...
Рейтинг: 0 / 0
C или C++
    #34169676
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklina=1 выполнитться столько-то раз.повезло, что тут инт, а если бы был класс?
...
Рейтинг: 0 / 0
C или C++
    #34170247
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmo Aklina=1 выполнитться столько-то раз.повезло, что тут инт, а если бы был класс?

гм. скорее выполниться несколько раз перегруженный оператор "="
...
Рейтинг: 0 / 0
C или C++
    #34170260
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MyObj myobj(param1);
...
Рейтинг: 0 / 0
C или C++
    #34170346
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmoMyObj myobj(param1);

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
#include <iostream.h>

class aaa
{
public:
	aaa( int a )
	{
		cerr << a << "\n";
	}
	~aaa()
	{
		cerr << "D";
	}
};

void main()
{
    int b= 1 ;
	int i= 10 ;
label_1:
    __asm{nop}
    aaa a1( i++ );
    if(b--)goto label_1;
}

результат:

Код: plaintext
1.
 10 
D11D
...
Рейтинг: 0 / 0
C или C++
    #34170404
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хехе, однако...
...
Рейтинг: 0 / 0
C или C++
    #34170567
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЙОПТ.. два деструктора! Рву на себе волосы! Топчу фсю литературу по программированию!
...
Рейтинг: 0 / 0
C или C++
    #34170658
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как его бишь зовут? Роллап стека?
...
Рейтинг: 0 / 0
C или C++
    #34172477
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmoкак его бишь зовут? Роллап стека?
кого?
...
Рейтинг: 0 / 0
C или C++
    #34173796
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmoкак его бишь зовут? Роллап стека?

Каллапсис? ;)
...
Рейтинг: 0 / 0
C или C++
    #34173798
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так, вы что? Глюк нашли?
...
Рейтинг: 0 / 0
C или C++
    #34174096
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklinкого?стека. Гоуту часто фачит стек, что мы и наблюли.
...
Рейтинг: 0 / 0
C или C++
    #34174325
rustem5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так все нормально ну немного не оптимизирован код а так
ведm 2 раза должен создаваться ааа
...
Рейтинг: 0 / 0
C или C++
    #34174518
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmo Aklinкого?стека. Гоуту часто фачит стек, что мы и наблюли.

гм. а можно то же но по русски???
...
Рейтинг: 0 / 0
C или C++
    #34174951
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
о, вспомнил, называется stack unwinding. Если оператор goto пересекает границы областей видимости, он должен вычищать стек от временных переменных.
...
Рейтинг: 0 / 0
C или C++
    #34177988
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmoо, вспомнил, называется stack unwinding. Если оператор goto пересекает границы областей видимости, он должен вычищать стек от временных переменных.

видимо сам гоуту сидит в ифе, а при вылезании из него, очищает класс...
...
Рейтинг: 0 / 0
149 сообщений из 149, показаны все 6 страниц
Форумы / C++ [игнор отключен] [закрыт для гостей] / C или C++
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]