_declspec和__declspec之间的区别?

我有时会看到以两个下划线开头的关键字,有时只看一个。 有什么区别吗?

我相信_declspec是同一个Microsoft特定关键字__declspec旧名称。 从C ++标准的角度来看,对于像这样的扩展,两个下划线比单个下划线更正确。 这是根据17.4.3.1.2 / 1:

某些名称和function签名集始终保留给实现:

  • 每个包含双下划线(_ _)或以下划线开头,后跟大写字母(2.11)的名称保留给实现以供任何使用。
  • 以下划线开头的每个名称都保留给实现,以用作全局名称空间中的名称。