Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.10.2017, 20:03   #31
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

Цитата:
Сообщение от Haric_110 Посмотреть сообщение
Надеюсь, мне не придётся работать с компилятором, который будет думать не так, как думаю я
Они все думают не так.
Только знание языка спасет от провала. )))
Croessmah вне форума Ответить с цитированием
Старый 14.10.2017, 20:08   #32
Haric_110
Форумчанин
 
Регистрация: 03.03.2013
Сообщений: 102
По умолчанию

где бесконечная рекурсия и исключение о переполнении стэка?
мне кажется, это компилятор для тех, кто не знает языка...
Только Microsoft Visual Studio думает так, как надо думать. Я думал как-то перейти на что-то другое, но теперь я бесконечно предан своему родному компилятору, что бы про него ни говорили)

Последний раз редактировалось Haric_110; 14.10.2017 в 20:11.
Haric_110 вне форума Ответить с цитированием
Старый 14.10.2017, 20:16   #33
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

Цитата:
Сообщение от Haric_110 Посмотреть сообщение
где бесконечная рекурсия и исключение о переполнении стэка?
Как видите, никакой рекурсии и никакого переполнения.
И это всё законно по правилам языка.
Цитата:
Сообщение от Haric_110 Посмотреть сообщение
мне кажется, это компилятор для тех, кто не знает языка...
Если программист не знает, что породил
неопределенное поведение этим кодом,
то виноват, конечно же, компилятор.
Стандартная позиция новичков в C и C++ -
во всём виноваты компилятор и библиотека.
Мысли новичка непоколебимы и первичны,
все кто думает иначе - неучи и неумехи. )))
Цитата:
Сообщение от Haric_110 Посмотреть сообщение
но теперь я бесконечно предан своему родному компилятору
Круто. Я родил еще одного человека, который не узнает C++ за пределами VS. )))
Цитата:
Сообщение от Haric_110 Посмотреть сообщение
Только Microsoft Visual Studio думает так, как надо думать.
Просто Вы еще не натыкались на "фичи" студии.
Но не будем об этом. Вопрос решен. )))

Последний раз редактировалось Croessmah; 14.10.2017 в 20:49.
Croessmah вне форума Ответить с цитированием
Старый 14.10.2017, 21:55   #34
Haric_110
Форумчанин
 
Регистрация: 03.03.2013
Сообщений: 102
По умолчанию

Цитата:
Сообщение от Croessmah Посмотреть сообщение
И это всё законно по правилам языка.
Какой смысл префиксной и постфиксной записи, когда для компилятора это есть "неопределённой поведение" и "нарушение правил языка"?
И где можно почитать эти "правила языка"?
Возможно, это какой-то очень известный источник, документация, но я серьёзно спрашиваю.

Последний раз редактировалось Haric_110; 14.10.2017 в 22:14.
Haric_110 вне форума Ответить с цитированием
Старый 14.10.2017, 22:02   #35
Haric_110
Форумчанин
 
Регистрация: 03.03.2013
Сообщений: 102
По умолчанию

Цитата:
Сообщение от alexzk Посмотреть сообщение
По-моему, или делай одномерный массив с арифметикой указателей, или делай класс, с перегрузкой операторов, если хочется "работы по индексам".
Кстати, у меня с этим не очень... Я пробовал делать классы с эффективными операциями и с перегрузкой операторов, но эффективность падала на их вызове. Даже на inline-функциях... возможно, тут дело в настройках сборки...

Цитата:
Сообщение от Croessmah Посмотреть сообщение
Если слово по длине будет меньше n,
то '\0' также перепишется.
Как вариант:
Код:
char *wcur = strings[ind_1];
while (*wcur) {
   *wcur -= 'a';
   ++wcur;
}
В данной задаче все слова будут длиной n, но это хороший приём определения конца строки, я как-то его использовал)

Последний раз редактировалось Haric_110; 14.10.2017 в 22:13.
Haric_110 вне форума Ответить с цитированием
Старый 15.10.2017, 01:40   #36
alexzk
Форумчанин
 
Регистрация: 12.04.2017
Сообщений: 889
По умолчанию

Вот так верно было бы
Код:
 arr[i] = i, i++;
Смысл вобщем простой - при изменении 1 переменной в 1 выражении более 1 раза порядок изменений не определен.

Т.о. даже

f(i, ++i) - не известен порядок i (в этом случае вычисляется значения аргументов = "изменение")

Последний раз редактировалось alexzk; 15.10.2017 в 01:49.
alexzk вне форума Ответить с цитированием
Старый 15.10.2017, 01:54   #37
alexzk
Форумчанин
 
Регистрация: 12.04.2017
Сообщений: 889
По умолчанию

Цитата:
Сообщение от Haric_110 Посмотреть сообщение
Кстати, у меня с этим не очень... Я пробовал делать классы с эффективными операциями и с перегрузкой операторов, но эффективность падала на их вызове. Даже на inline-функциях... возможно, тут дело в настройках сборки...


В данной задаче все слова будут длиной n, но это хороший приём определения конца строки, я как-то его использовал)
Пока не встанет задача загрузить документ в многобайтной кодировке, например, UTF-8. Она повторяет латиницу, пока юзер случайно не впечатает иероглиф(например коментарий). И понеслось...
alexzk вне форума Ответить с цитированием
Старый 15.10.2017, 04:43   #38
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

Цитата:
Сообщение от Haric_110 Посмотреть сообщение
Какой смысл префиксной и постфиксной записи, когда для компилятора это есть "неопределённой поведение" и "нарушение правил языка"?
И где можно почитать эти "правила языка"?
Возможно, это какой-то очень известный источник, документация, но я серьёзно спрашиваю.
Если Вы не знаете языка, виноват компилятор, да, мы уже поняли.
А весь язык описан в стандарте c++.
Croessmah вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Утечка памяти [Освобождение памяти массива] denis76560 Общие вопросы Delphi 4 27.11.2016 18:20
Объявление динамического двумерного массива kineziz Общие вопросы C/C++ 4 27.05.2012 15:40
Освобождение памяти под динамический массив tsar_ Общие вопросы Delphi 7 24.12.2011 00:37
Матрица из двумерного динамического массива. Abrokadawr Фриланс 5 03.11.2011 22:28
Освобождение динамического массива? VintProg Общие вопросы Delphi 15 28.08.2009 10:41