Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.76/41: Рейтинг темы: голосов - 41, средняя оценка - 4.76
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826

Что такое side-effects

30.12.2015, 18:09. Показов 8325. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день,

что такое side-effects и с чем их едят? В каких коварных моментах языка стоит помнить про данный термин. Когда незнания его может привести к последствиям.

По анализу вопросу понял, что это: если функция не умеет внешних связей и работатет по принципу:
вы мне запрос - я вам ответ.
То такая функция без side-effect'ов.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.12.2015, 18:09
Ответы с готовыми решениями:

Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами?
Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами?

Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа?
Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа?

Что такое хэндлер файла? Что такое файловый указатель?
Что такое хэндлер файла? Что такое файловый указатель?

27
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
31.12.2015, 15:03
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от ct0r Посмотреть сообщение
Так это ты начал со своим компилятором, которому в этой теме вообще не место.
я как бе вашего разрешения спросить забыл.

Цитата Сообщение от ct0r Посмотреть сообщение
Стакан тоже можно на стол поставить. И что с того? Они связаны до гроба?
способности стакана никак не зависят от стола.
способности компилятора зависят от его знания о побочных эффектах.

итого: аналогия не уместна.

Цитата Сообщение от ct0r Посмотреть сообщение
Самолеты, которые - большие офигительные машины. Подучи и русский, чтобы хоть документацию нормально писать.
согласно русскому языку, прилагательное - характеристика предмета,
и уже лишь поэтому,
не может быть определением самого предмета.

например, из фразы:
"Самолеты, которые - большие офигительные машины ..."

следует, что в данном контексте рассматриваются не все самолеты,
а лишь те, которые большие офигительные машины.

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

теперь вы подучите русский.

Цитата Сообщение от ct0r Посмотреть сообщение
бессмысленная упертость онли.
ваше вот это данное сообщение
и является примером "упертости" по определению понятия "упертость".


Цитата Сообщение от ct0r Посмотреть сообщение
поучи функциональую парадигму, а то грустно все...
я в курсе этой парадигмы.
и нахожу ей применение на практике.

а вот ваша грусть мне безразлична.
это - ваши трудности.
0
Игогошка!
 Аватар для ct0r
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
31.12.2015, 20:07
Цитата Сообщение от hoggy Посмотреть сообщение
я как бе вашего разрешения спросить забыл.
Можешь не спрашивать, хоть про макак в каждом треде пиши.

Цитата Сообщение от hoggy Посмотреть сообщение
итого: аналогия не уместна.
Пффф. Ну тогда человек и машина. Способности человека зависят от машины или наоборот. Давай, генерируй очередные отговорки.

Цитата Сообщение от hoggy Посмотреть сообщение
согласно русскому языку, прилагательное - характеристика предмета,
Где ты прилагательные нашел? Который - это прилагательное что-ли? Это местоимение Ты решил продолжать совершать одни и те же ошибки? И причем тут вообще прилагательные? Машины - это существительное.

Цитата Сообщение от hoggy Посмотреть сообщение
из этой фразы не понятно, чем на самом деле являются самолеты.
известно лишь, что они могут быть большими офигительными машинами,
а могут и не быть.
То есть из того, что самолеты - это машины, ты сделал вывод, что они могут быть машины, а могут быть и не машины? Поржал

Цитата Сообщение от hoggy Посмотреть сообщение
я в курсе этой парадигмы.
и нахожу ей применение на практике.
Какие монады писал? Какой функциональный язык ты освоил? Только не говори, что С++, шаблоны и метапрограммирование, умоляю

 Комментарий модератора 
Ребят, давайте потихоньку закругляться с этим обменом любезностями. Охота ругаться, пишите друг другу в ЛС, пожалуйста.
1
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
31.12.2015, 20:38
rikimaru2013, смотрю что никто так толком и не смог Вам ответить. Побочный эффект это когда вызываешь функцию не для возвращаемого ею значения. Обычно все вычисления можно построить одним выражением пользуясь вложенностью вызовов. Например
Lisp
1
(foo (bar (baz)))
где каждый вызов получает на вход результат предыдущего вызова. Функции с побочным эффектом это классическая интерпретация процедуры из структурного программирования. Может возвращать всё что угодно или вообще ничего, но изменять состояние программы каким-либо образом. Например функция printf используется только для достижения ее побочного эффекта, т.к. код, полученный после ее вызова (который она вернула) нам по факту вовсе не требуется.

Добавлено через 3 минуты
Цитата Сообщение от hoggy Посмотреть сообщение
это просто пример.
и суть простая - побочные эффекты - этакие "нежданчики".
они как бы есть, но как бы прозрачно для программиста.
если на них заложилась какая то важная логика - это путь тернистый,
странных ошибок.
это под какими грибами надо было такое выдумать?
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
01.01.2016, 02:13
Цитата Сообщение от ct0r Посмотреть сообщение
Способности человека зависят от машины или наоборот
коррелируют

Цитата Сообщение от ct0r Посмотреть сообщение
Давай, генерируй очередные отговорки.
если бы я опоздал на работу, то я бы сгенерировал отговорку.

однако, назовите мне хотя бы одну причину,
ради чего вообще стоит
оправдываться перед кем-то в интернетах?


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

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

Цитата Сообщение от ct0r Посмотреть сообщение
То есть из того, что самолеты - это машины, ты сделал вывод, что они могут быть машины, а могут быть и не машины?
у вам похоже реально трудности с понимаем русского языка.

или тут не по-русски написано?

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

если бы все самолеты без исключения были бы афигительными машинами,
то местоимение "которые" утратило бы смысл.
но раз оно было использовано,
значит в контексте фразы подразумевается,
что существуют другие самолеты,
но рассматривать нужно только те,
что с указанными характеристиками.
какие именно могу быть ещё - из фразы не известно.
например "которые стрёмные машины",
либо какие либо ещё.

и поскольку, фраза не содержит определение понятия "самолетов",
то никаких других выводов вы из этой фразы сделать не сможете.

"самолёты - это ..."
"самолеты, которые ..."

сейчас похоже до вас не доходит разница между этими конструкциями.

Цитата Сообщение от ct0r Посмотреть сообщение
Только не говори, что С++, шаблоны и метапрограммирование, умоляю
ок.

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

 Комментарий модератора 
Ребят, давайте потихоньку закругляться с этим обменом любезностями. Охота ругаться, пишите друг другу в ЛС, пожалуйста.
0
Игогошка!
 Аватар для ct0r
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
01.01.2016, 11:24
hoggy, во-первых, кончай ругаться, это тебя унижает. А во-вторых, вернемся к английскому. Вот тут http://home.earthlink.net/~llica/wichthat.htm написано вот что:
Here is an example of the correct use of which:

Tiffany likes emeralds, which are expensive.
The set of things called emeralds are all expensive, so the clause "which are expensive" talks about the whole set of emeralds. There is no inexpensive subset of emeralds. "Which are expensive" simply gives you additional information about this whole set.
Вернемся к нашим баранам: side effects, which are changes in the state of the execution environment. Исходя из приведенной ссылки, changes in the state of execution environment - относится ко ВСЕМУ множеству побочных эффектов. То есть нет побочных эффектов, которые не являются changes in the state of execution environment. Таков английский. Что скажешь на это?

Добавлено через 6 минут
Ну и вот:
If a clause describes the whole set of the term it modifies, the clause in question should be introduced with which and separated by one or two commas from the rest of the sentence. (This is a nonrestrictive clause.) If the clause describes only a subset of the term it modifies, then the clause in question should be introduced by that and should not be separated by commas. (This is a restrictive clause.)
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
02.01.2016, 03:28
Цитата Сообщение от ct0r Посмотреть сообщение
во-первых, кончай ругаться, это тебя унижает.
1.
так я и не ругаюсь.
ругаться с кем то в интернетах мне не интересно.
я лишь указал вам, что прежде чем кидать понты,
по поводу русского,
вам не мешало бы самому его подучить.
потому что именно согласно русскому языку,
фразы вида: "предмет, который...",
уточняют какие именно предметы из множества имеются ввиду,
но никак не определяют понятие самого предмета.

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

вы пытаетесь мною манипулировать столь неумело и неуклюже,
что это просто скучно.
подобного рода глуповатые манипуляции я называю "дешёвыми понтами".

не играйте со мной в эти игры.
потому что на этом поле, вы - скучный игрок.

Цитата Сообщение от ct0r Посмотреть сообщение
Вернемся к нашим баранам: side effects, which are changes in the state of the execution environment. Исходя из приведенной ссылки, changes in the state of execution environment - относится ко ВСЕМУ множеству побочных эффектов. То есть нет побочных эффектов, которые не являются changes in the state of execution environment. Таков английский. Что скажешь на это?
я специально решил проконсультироваться о одного преподавателя английского языка.
и вместе мы пришли к выводу, что вы правы в том,
что данная конструкция действительно характеризует все множество предметов.
однако, она не является определением этого множества.

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

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

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

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

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

но для того, что бы выступать в качестве определения "побочного эффекта", как термина,
данная конструкция не подходит.
1
Игогошка!
 Аватар для ct0r
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
02.01.2016, 11:21
Цитата Сообщение от hoggy Посмотреть сообщение
не играйте со мной в эти игры.
потому что на этом поле, вы - скучный игрок.
Предпочитаю совершенствоваться в написании кода. В отличие от.

Цитата Сообщение от hoggy Посмотреть сообщение
потому что подобная конструкция предполагает,
что получатель сообщения уже имеет некоторые представления о предмете.
сама конструкция лишь акцентирует внимания читателя
на каких то важных для послания характеристиках множества этого предмета,
уточняя тем самым контекст всего послания.
но не более того.
Не совсем так. Смысл вот в чем. Возьмем другую статью как пример без всяких изумрудов - http://blog.dictionary.com/that-vs-which/ То есть главное именно то, что ты в принципе можешь выкинуть эту конструкцию без ущерба для понимания всего предложения. А для тех, кто может не понять, что же такое побочные эффекты, на всякий случай добавляется дополнительная информация, объясняющая и раскрывающая их смысл. И по словарю это как раз и является "определением".
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
02.01.2016, 18:03
Цитата Сообщение от ct0r Посмотреть сообщение
Не совсем так. Смысл вот в чем. Возьмем другую статью как пример без всяких изумрудов - http://blog.dictionary.com/that-vs-which/ То есть главное именно то, что ты в принципе можешь выкинуть эту конструкцию без ущерба для понимания всего предложения. А для тех, кто может не понять, что же такое побочные эффекты, на всякий случай добавляется дополнительная информация, объясняющая и раскрывающая их смысл.
вы сейчас пишите практически тоже самое, что и я писал выше.

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

и дополнительная информация является полной лишь в той мере,
в которой это нужно для понимания смысла всего послания.

Цитата Сообщение от ct0r Посмотреть сообщение
И по словарю это как раз и является "определением".
так речь же изначально идет об определении термина.

"на языке с++ массив - это не прерывный блок памяти".

по словарю, это - так же определение.
но оно не полное.
и "массив", как термин языка оно не определяет.

термин - это название предмета,
которое однозначно идентифицирует понятие предмета в рамках своей терминологии.

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

а ваша конструкция, как я уже писал выше,
предназначена для человека,
который уже имеет представлением о том,
что такое "сайд эффект".
делает акцент на важных для всего послания особенностях последних.
но не более того.
"побочный эффект", как термин, оно не определяет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.01.2016, 18:03
Помогаю со студенческими работами здесь

Что такое заголовочный файл? Что такое файл исходного кода? Рассмотрите назначение каждого из них
Что такое заголовочный файл? Что такое файл исходного кода? Рассмотрите назначение каждого из них пожалуйста.

Как используется coLinux? Что значит соиспользование Linux и Windows side by side
Я не про выбор ОС при загрузке bios, Topologilinux, например, по англовике устанавливается на виндовс

Ремонт Х-к Teka NF660i side by side нет регулировки температуры в морозильнике
Не знаю,чей это клон,надо направление поиска неисправности узнать для того,чтобы холодильщика отправить на сабж В холодильной камере...

Ремонт Холодильник Акаi ARL2522MS side-by-side, доза фреона 600а
Холодильник AKAI side-by-side ARL 2522MS морозилка-180л/холодилка-341л.Серийный номер-BCOTDOE0300BA7790094 подскажите норму заправки...

Холодильник BOSCH KFU 5750/03 (side by side), Подобрать компрессор
Вечер добрый. Подскажите какой компрессор должен стоять на Холодильнике BOSCH KFU 5750/03 (side by side), R-134a 170гр, или аналог не очень...


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

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru