@ -symbol means a code documention keyword in comments (
not an official definition). Here are some of them:
1 2 3 4 5 6 7 8 9
|
@brief
@class
@def
@if
@namespace
@param
@see
@retval
@return
|
You can also use \-symbol instead of @ -symbol.
In order to use this kind of documentation style in comments, you must use triple slashes (///) in front of these "documentation keywords". /** -marking is just another commentation style, like /*.
There are many different markings in comments. They are useful, because in some text editors (Notepad++ etc.) or IDEs (Code::Blocks etc.) they highlight parts of comments differently. For example in
Code::Blocks, comment starting with double slashes (//) looks bit different compared to triple slashed (///) comment. There is no difference in both behaviour or functionality.
Speaking of underscores, they are usually there just so you know that they are not for common use or are preprocessor-related. Here some examples of them:
1 2
|
_GLIBCXX_IOSTREAM
_GLIBCXX_USE_WCHAR_T
|
See? You most likely will never use these definitions. The underscore helps you to detect which definitions you should not use. However, there some exceptions, like these:
1 2 3 4
|
__APPLE__
__cplusplus
__MINGW32__
_WIN32
|
Oh, and
bits/
in include guards refers to folder containing an include file.
Standard libraries are supposed to be used & not supposed modified. The main goal in standard libraries is not the overall look of the code, it's the functionality of it. That's why they often look "messy".