C++11新特性之属性(Attributes)

C++11新特性之特性 Attributes

简介

好像网上关于C++11引入的Attributes没有什么人进行讲解,我在这里查阅了cppreference,以及微软的文档,还有一些外网上的教程的例子,如果想看更详细的解释可以直接点进去看。(我这里是稍微翻译总结了一下上面网站上讲的内容)

C++11标准定义了一系列的attributes (注:由于国内好像没有人讨论attributes ,我也不知道应该怎么翻译,所以本文按属性),并且也允许编译器厂商去定义自己的属性(在各自的厂商定义的命名空间内),但是编译器只被要求识别标准里定义的属性。
在某些例子里,标准属性会与与编译器特定的declspec关键字形似,在VC里,你可以使用[[deprecated]] 属性来代替declspec(deprecated),这个行为可以让所有符合编译器都识别。对于其他declspec参数,例如dllimport与dllexport, 至今没有任何属性与之相等,所以你必须继续去使用declspec。属性并不影响类型,并且属性也不能改变一个程序的意义。编译器会忽略他们不认识的属性

<
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
C++11 引入了许多新的特性和改进,以下是全面的列举: 1. 自动类型推导(auto) 2. 统一的初始化语法(花括号初始化) 3. 空指针常量(nullptr) 4. 定义常量表达式(constexpr) 5. 声明和定义分离(extern template) 6. 默认函数删除(= default, = delete) 7. 区间迭代(range-based for loop) 8. 委派构造函数(delegating constructors) 9. 移动语义(移动构造函数和移动赋值运算符) 10. 右值引用(&&) 11. lambda 表达式 12. 显式虚函数覆盖(override 和 final 关键字) 13. 静态断言(static_assert) 14. 可变参数模板(variadic templates) 15. 线程支持库(std::thread, std::mutex, std::condition_variable) 16. 并发容器(std::atomic, std::atomic_flag) 17. 强类型枚举(enum class) 18. 智能指针(std::shared_ptr, std::unique_ptr) 19. 正则表达式库(std::regex) 20. 原始字符串字面量(raw string literals) 21. 显示默认函数和删除函数的特殊情况 22. 基于范围的循环 23. 初始化列表 24. 类型推导模板参数 25. 线程局部存储 26. 静态断言 27. 并发编程支持 28. 多线程支持 29. 原子操作支持 30. 静态多线程支持 31. 内存模型支持 32. 标准库改进 33. 随机数库增强 34. 正则表达式库增强 35. 文件系统库(std::filesystem) 36. 时间库改进(std::chrono) 37. 范围库(ranges) 38. 并行算法库(Parallel STL) 39. 字符串视图(std::string_view) 40. 基于属性的编程(attributes-based programming) 41. 基于范围的 for 循环改进 42. 初始化列表扩展 43. 类型推导扩展 44. 右值引用相关扩展 45. 静态断言扩展 46. Unicode 字符串字面量 47. 强制执行函数不抛出异常 48. noexcept 运算符 49. 数组大小为 0 的特殊情况 50. 其他语言特性的引入和改进(例如:常量表达式函数、原始字符串字面量、非静态成员初始化) 这些特性使得 C++11 更加现代化,方便了开发人员进行编程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值