VC++编程关键字完全指南

版权申诉
0 下载量 183 浏览量 更新于2024-09-08 收藏 79KB PDF 举报
"VisualC++(VC++)编程序软件语言关键字大全集合.pdf" 本文将详细介绍Visual C++(简称VC++)编程语言中的关键字及其用途。这些关键字是编程的基础,用于定义和控制程序的行为、数据类型以及类和对象的结构。下面我们将逐个解析这些关键字。 1. **__abstract**: 表明一个类是抽象的,它不能被实例化,必须至少有一个纯虚函数。 2. **__alignofOperator**: 返回变量或类型的对齐要求。 3. **__asm**: 允许在C++代码中插入汇编代码。 4. **__assume**: 告诉编译器假设某个表达式总是为真,优化代码。 5. **__based**: 用于基于指定基地址的指针类型。 6. **__box**: 在.NET环境中,将值类型转换为对象引用。 7. **__cdecl**: 使用C语言调用约定,函数参数由被调用者清理。 8. **__declspec**: 用于声明特殊属性,如内存管理、导出和导入函数等。 9. **__delegate**: 定义委托类型,类似于C#中的事件处理器。 10. **__event**: 用于声明事件。 11. **__except**/**__finally**: 与异常处理相关,`__except`用于捕获异常,`__finally`确保代码块在任何情况下都会执行。 12. **__forceinline**: 强制编译器进行内联,提高效率。 13. **__gc**: 指示对象应由垃圾收集器管理。 14. **__hook**: 连接事件处理程序。 15. **__identifier**: 创建具有特定标识符名称的预处理器宏。 16. **__if_exists**/**__if_not_exists**: 分别用于检查类型或成员是否存在。 17. **__inline**: 提示编译器考虑内联函数。 18. **__int16**/**__int32**/**__int64**/**__int8**: 定义固定大小的整数类型。 19. **__interface**: 定义COM接口。 20. **__leave**: 用于`try/except`块,直接跳过剩余的`finally`块。 21. **__m128**/**__m128d**/**__m128i**/**__m64**: SSE/SSE2/SSE3数据类型,用于高性能计算。 22. **__multiple_inheritance**: 表示类支持多重继承。 23. **__nogc**: 禁止垃圾收集器管理类的对象。 24. **__noop**: 无操作函数,通常用于占位符或调试。 25. **__pin**: 将对象固定在内存中,防止垃圾收集器移动。 26. **__property**: 定义属性,类似于C#中的属性。 27. **__raise**: 触发事件。 28. **__sealed**: 禁止子类进一步继承。 29. **__single_inheritance**: 表示类支持单继承。 30. **__stdcall**: 使用标准调用约定,参数由调用者清理。 31. **__super**: 访问基类的成员。 32. **__thiscall**: 类成员函数的默认调用约定,参数由对象本身清理。 33. **__try**/**__except**/**__finally**: 异常处理结构。 34. **__try_cast**: 类型安全的强制转换。 35. **__unaligned**: 指示不按对齐方式访问数据。 36. **__unhook**: 移除事件处理程序。 37. **__uuidof**: 获取类型或接口的UUID。 38. **__value**: 在元类中定义值类型。 39. **__virtual_inheritance**: 表示类使用虚拟继承。 40. **__w64**: 在64位系统上扩展类型。 41. **__wchar_t**和**wchar_t**: 宽字符类型,用于Unicode字符串。 此外,还有其他一些基本的关键字: 42. **abstract**: 类型声明为抽象,不能被实例化。 43. **array**: 用于定义数组。 44. **auto**: 自动推断变量类型。 45. **bool**: 布尔类型。 46. **break**: 退出循环或switch语句。 47. **case**: switch语句中的分支标记。 48. **catch**: 捕获异常。 49. **char**: 字符类型。 50. **class**: 定义类。 51. **const**: 声明常量。 52. **const_cast**: 改变对象的常量性。 53. **continue**: 继续下一轮循环。 54. **decltype**: 从表达式的类型推断类型。 55. **delegate**: .NET中的委托类型。 56. **delete**: 删除动态分配的对象。 57. **deprecated**: 标记已弃用的函数或类型。 58. **dllexport/dllimport**: 控制函数和类的导出和导入。 59. **do/while**: 循环结构。 60. **double**: 双精度浮点数类型。 61. **dynamic_cast**: 动态类型转换。 62. **else**: if语句的否定分支。 63. **enum**: 定义枚举类型。 64. **enumclass/enumstruct**: C++11引入的强类型枚举。 65. **event**: .NET事件。 66. **explicit**: 防止隐式类型转换。 67. **extern**: 声明外部变量或函数。 68. **false**: 布尔常量,表示假。 69. **finally**: 异常处理的finally块。 70. **float**: 单精度浮点数类型。 71. **for**: 循环结构。 72. **foreach/in**: 遍历集合。 73. **friend**: 定义友元关系。 74. **friend_as**: .NET中的友好类型转换。 75. **gcnew**: .NET中的动态内存分配。 76. **generic**: 定义泛型类型。 77. **goto**: 跳转到标签。 78. **if**: 条件语句。 79. **initonly**: 属性只允许在初始化期间设置。 80. **inline**: 提示编译器内联函数。 81. **int**: 整数类型。 82. **interfaceclass/interfacestruct**: .NET中的接口。 83. **interior_ptr**: .NET中的托管指针。 84. **literal**: 定义文字常量。 85. **long**: 长整数类型。 86. **mutable**: 允许修改const对象的成员。 87. **naked**: 不使用系统堆栈调整的函数。 88. **namespace**: 定义命名空间。 89. **new**: 动态内存分配。 90. **noinline**: 禁止内联。 91. **noreturn**: 表示函数不会返回。 92. **nothrow**: 表示构造函数或析构函数不会抛出异常。 93. **nullptr**: C++11的空指针常量。 94. **operator**: 重载运算符。 95. **private**: 成员的私有访问修饰符。 96. **protected**: 成员的保护访问修饰符。 97. **public**: 成员的公有访问修饰符。 98. **register**: 建议将变量存储在寄存器中(现代编译器通常忽略此提示)。 99. **reinterpret_cast**: 强制类型转换,不进行安全性检查。 100. **return**: 从函数返回值。 101. **short**: 短整数类型。 102. **signed**: 有符号整数类型。 103. **sizeof**: 返回类型或变量的大小。 104. **static**: 静态修饰符,用于变量或函数。 105. **static_assert**: 静态断言,编译时检查。 106. **static_cast**: 安全的静态类型转换。 107. **struct**: 定义结构体。 108. **switch**: 开始switch语句。 109. **template**: 定义模板。 110. **this**: 当前对象的指针。 111. **throw**: 抛出异常。 112. **true**: 布尔常量,表示真。 113. **try**: 异常处理的try块。 114. **typedef**: 定义类型别名。 115. **typename**: 指示模板参数是类型。 116. **union**: 定义联合体。 117. **unsigned**: 无符号整数类型。 118. **using**: