I was reading some c++ code, and i saw something interesting.
The code was something like this:
repeat:
...code here....
fallback:
...code here....
start:
....another code....
This is the first time i am seeing this kind of "labels" in c++ code, i called the labels cos i have seen something similar in assembly code where the code is divided into sections with different titles which end with colon.
I am asking you what does that mean, and of what use it can be ?
It is a label, to which you can jump using a
goto
.Whether one should use
goto
s in a program is another matter entirely.A label is generally the target of a
goto
in C++.Labels are used as targets for goto, but, if you put a label, you are not forced to use goto, if you do not see any goto in the code you are reading, the people/guy who wrote that code probably used them for actually labeling purposes (duh!).
Labels are used with
goto
andswitch/case
statements, when they are used to direct the flow of control. However, labels may also be used absent anygoto
statements (case labels must only appear in aswitch
statement) as means of identifying particular code segments -- i.e., somewhat like a comment, though in reality more like a title. If you're not seeing anyswitch
orgoto
statements, I suspect the code author is simply using them to organize his code.