|
Неэпический
|
|
| 06.08.2016, 12:55 | |
|
Коротко о том, чем же плох goto - ничем
![]() Но если можно использовать более подходящие конструкции, то тогда не нужно использовать goto, ибо зачем? ![]() Каждому средству своё место
2
|
|
| 06.08.2016, 12:55 | |
|
Ответы с готовыми решениями:
195
Чем плох управляемый С++? Чем плох uCoz? Чем плох make? |
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 06.08.2016, 13:05 | ||
|
0
|
||
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|||
| 06.08.2016, 13:27 | |||
jmp в данном случае, по почему нельзя называть вещи своими именами )))) Чего мы стыдимся?
0
|
|||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 06.08.2016, 13:30 | ||
|
что он там у себя под капотом мутит - нас вообще не должно касаться.
0
|
||
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|
| 06.08.2016, 13:31 | |
|
hoggy, а как же "Закон дырявой абстракции" http://russian.joelonsoftware.... tions.html
0
|
|
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 06.08.2016, 13:56 | ||
|
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 06.08.2016, 13:56 | |
|
1
|
|
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 06.08.2016, 14:03 | |||
|
0
|
|||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
||
| 06.08.2016, 14:09 | ||
|
1
|
||
|
|
||||||
| 06.08.2016, 14:09 | ||||||
|
1
|
||||||
|
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
|
|
| 06.08.2016, 14:20 | |
|
1
|
|
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 06.08.2016, 14:23 | ||
|
0
|
||
|
|
||
| 06.08.2016, 14:48 | ||
|
Заметьте: между блоками кода. А что такое блок кода? Это функционально законченная конструкция обеспечивающая с помощью условных операторов переход к другим функционально законченым блокам.. По всей видимости единственное место, где данный оператор был бы прямо на своём месте, - в реализации автомата(машины Тьюринга) применительно к любым возможным программным системам. Машина Тьюринга против структурного подхода априори, поэтому именно здесь данный оператор на своём месте. Под автомат подведена мощная математическая база(чего не скажешь о структуре), поэтому программы стновится очень легко верифицировать.
0
|
||
| 06.08.2016, 15:26 | ||||||||
|
Ferrari F1, goto != jmp, почему?
Потому что реализация goto может быть несколько сложнее чем простой jmp. Почему? Потому что goto должен учитывать некоторые особенности языка и выполнять дополнительную работу. Для примера:
1
|
||||||||
|
1378 / 522 / 72
Регистрация: 21.07.2015
Сообщений: 1,308
|
|
| 06.08.2016, 16:07 | |
|
goto ничем не плох, если использован по назначению. В Си без него в некоторых случаях пришлось бы городить очень много лишнего кода. Си++ вполне можно обходиться и без него.
0
|
|
| 06.08.2016, 16:15 | |||||||||||
|
Изыскания на тему.
Провел некоторое "исследование" как компилятор работает с goto. За основу взял код:
gcc 5.3, ключи: -std=c++14 -O0Из выхлопа на asm'е оставил самое интересное:
0
|
|||||||||||
|
Падаван С++
447 / 261 / 89
Регистрация: 11.11.2014
Сообщений: 916
|
|
| 06.08.2016, 18:42 | |
|
Ну лично я считаю, что все таки не очень гуд его юзать, хотя бы потому что мне кажется в больших проэктах если делать длинные "прыжки" то можно что то упустить, допустим то же освобождение памяти это первое ну и естественно если пропускается кусок кода нужный, допустим создание какого то объекта который должен был бы использоватся потом, и это хорошо если программист который пишет это помнит все, а если дать другому человеку и он в тонне кода не заметит метку и готушку и напишет там что то свое а оно не пашет, ну тогда могут возникнуть проблемы, единственное честно всегда задавался вопросом как из сильно вложеных циклов выходить, потому что помимо брейка приходилось делать флаги что сработал брейк и тд. так что лично я вижу полезность только там, ну или вот еще в голову пришла идея, допустим у нас есть игра и меню и при выходе в меню из игры мы могли бы прыгать назад, ну такое тоже, черевато проблемами но все же, ну это скажем так мнение новичка
да и честно говоря многие выступили в защиту goto, но лично у hoggy, в коде никогда такого не видел
2
|
|
|
|
||||||||||||
| 06.08.2016, 19:57 | ||||||||||||
Если ввести переменную, которая обозначала бы состояния в каждый момент времени работы автомата, то мы получили бы автомат с памятью предыдущего состояния. Автоматная программа позволяет обойтись без вложенных циклов и вложенных ifов, а также без флагов, которые заменяет всего одна переменная состояний.
0
|
||||||||||||
|
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
|
||||||||||||
| 06.08.2016, 20:55 | ||||||||||||
0
|
||||||||||||
| 06.08.2016, 20:55 | |
|
Помогаю со студенческими работами здесь
40
чем плох mysql_query
Чем плох std::map? Чем плох ProBuilder (Unity3D)? В чем плох этот код? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[golang] Двоичная куча, min-heap
alhaos 20.05.2026
Двоичная куча
Двоичная куча — структура данных, которая всегда держит самый важный элемент наготове.
Представьте очередь к хилеру в игре, и очередь из игроков в приоритете те у кого меньше. . .
|
[golang] Breadth-First Search
alhaos 19.05.2026
BFS (Breadth-First Search) — это базовый алгоритм обхода графа в ширину, который поуровнево исследует все связанные вершины. Он начинает с выбранной точки и проверяет всех соседей, прежде чем. . .
|
[golang] Алгоритм «Хак Госпера»
alhaos 17.05.2026
Алгоритм «Хак Госпера»
Хак Госпера (Gosper's Hack) — алгоритм нахождения следующего по величине числа с тем же количеством установленных бит.
Придуман Биллом Госпером в 1970-х, опубликован в. . .
|
Рисование бинарного древа до 6-го колена на js, svg.
russiannick 17.05.2026
<svg width="335" height="240" viewBox="0 0 335 240" fill="#e5e1bb">
<style>
<!]>
</ style>
<g id="bush">
</ g>
</ svg>
function fn(){
let rost;/ / высота древа
let xx=165,yy=210,w=256;
|
|
FSharp: interface of module
DevAlt 16.05.2026
Интерфейс модуля F# позволяет управлять доступностью членов,
содержащихся в реализации модуля. По-умолчанию все члены модуля доступны:
module Foo
let x = 10
let boo () = printfn "boo"
. . .
|
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible". . .
|
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов.
import "math"
func angleClock(hour int, minutes int) float64 {
. . .
|
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo
https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html
и его же старой инструкции по установке Lazarus с gtk2. . .
|