C/C++

Урок C++: Оператор GOTO

Print
User Rating:  / 2
PoorBest 

Гото е оператор за безусловен преход, тоест при срещането на goto lаbel.
Oзначава отиди на етикет " lаbel " отива на етикета lаbel без да се съобразява с нищо, просто скача за това и го наричат още джъмп орератор.

Защо го има в С++ този така овехтял и ненужен гото оператор.

Причината е че С++ е наследник от езика С както знаете, та езика С е:

1. Процедурно-ориентиран – пише се процедурно;
2. Машиннонезависим – може да се компилира според системата;
3. Машинно-ориентиран – съобразява се с някой особености на компютрите, като например колко байта за задели за клетка и така т.н.

Език от по горно ниво от асемблера "„всъщност С се смята че той има малко по-ниска от средното ниво на машинна ориентация " та така.

С++ просто наследява тази възможност, да прескача редове когато това е нужно, това е основата на програмата на ниско ниво.

НО! В абстрактните езици „обектно ориентираните като С++ " този оператор не намира приложение, понеже той работи само в рамките на основната програма, тоест на мейн структурата, в обекти не работи.


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

 

Не се плашете от goto. А асемблера в крайна сметка е пълен с jump команди. Та да вметна поради това си естество С се ползва още в микро контролерите и малките микропроцесори. Това е така понеже той е точно баланса между какво иска човека и какво може машината. Това е един от най яките езици ако гониш производителност... :blush:

Разликата между С и С++ е долу горе следната..

С е процедурен функционален език, докато С++ е обектно ориентиран, на практика всички останали езици се равняват по си++ когато прочетеш за някой друг език там неминуемо ще пише  „обектният модел на този език е взет от С++ ".  

Това не означава че в си++ не можеш да пишеш процедурно, напротив С++ може да работи и процедурно доста добре.

На практика С има други библиотеки за вход и изход на програмата, ако ще се занимаваш с машинен програмен интерфейс имай предвид че повечето PIC, MOTOROLA, AVR контролери имат компилатори само за С това може и да се промени естествено, но ако имаш 16 бита и 10-20 мегахерца честота  „Да правилно прочетохте, не е печатна грешка".  При такива условия ти трябва оптимален език каквито са езиците на ниско ниво. Най оптималният е асемблера разбира се, но и най трудният.

 

Компютърни езици

Операционни с-ми

Офис

База данни

Въпроси - отговори