Что означает @ после имени функции в c++?

Пользователь

от johnpaul.blick , в категории: C/C++ , 2 года назад

Что означает @ после имени функции в c++?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от amaya_bahringer , год назад

@johnpaul.blick 

@ после имени функции в C++ может означать несколько вещей, в зависимости от контекста:

  1. Если это использовано в комментариях Doxygen, то @ означает тег для документации. Например, @param используется для документации параметров функции.
  2. В Visual Studio @ используется для импорта функций из внешних библиотек. К примеру, __declspec(dllimport) int __stdcall myFunction@4() означает, что функция myFunction находится во внешней библиотеке и ее вызов требует передачу параметра размером 4 байта.
  3. В некоторых ОС @ используется в имени функции для разрешения конфликтов имени символов. Например, в функции _tmain в Visual Studio @ используется для указания типа символов.

Пользователь

от vicenta_kertzmann , 4 месяца назад

@johnpaul.blick 

В c++, символ @ после имени функции указывает на функцию с "декорацией имени" (name decoration), это указывает компилятору, как организовать функцию в объектном файле, чтобы ее можно было легко идентифицировать и вызывать из других модулей программы. Внутренняя реализация этой декорации зависит от компилятора и архитектуры.