
c++ 11 17 20 新特性
文章平均质量分 83
专门赛选开发者需要的新特性
C9程序猿
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++ 11重点总结2
std::recursive_timed_mutex,带超时的递归互斥量。包装可调用对象(如函数或 lambda 表达式)的类,可以异步执行该对象。std::recursive_mutex,递归互斥量,不带超时功能。std::time_mutex,带超时的独占互斥量,不能递归使用。std::mutex,独占的互斥量,不能递归使用。允许定义接受任意数量和类型参数的模板函数和模板类。折叠表达式(C++17)综合示例简单的线程池。原创 2024-11-27 19:16:44 · 817 阅读 · 0 评论 -
C++ 11重点总结1
auto_ptrunique_ptrshared_ptrweak_ptr: 自定义删除器。shared_ptrshared_ptrshared_ptrunique_ptrunique_ptrshared_ptr初始化灾难。new T会造成重复类型声明。代码可读性差删除器区别。需要指定删除器类型weak_ptrshared_ptrthisweak_ptr举个例子,监视某内存的释放。weak_ptr在使用前需要检查合法性。智能指针通常是安全的,但在多线程访问同一个shared_ptr对象时需要考虑线程安全性。原创 2024-11-27 15:45:11 · 1190 阅读 · 0 评论 -
c++新特性左右值引用和引用折叠,完美转发
总的来说,C++11 及以后版本为左值和右值引入了更加细致的概念和相关特性,如左值引用、右值引用、移动语义、完美转发等。这些特性为我们提供了更加灵活和高效的编程方式,使得 C++ 在泛型编程和性能优化方面有了长足的进步。原创 2024-07-23 14:27:00 · 688 阅读 · 0 评论 -
c17 新特性 字符串和数字转换 charconv
性能优化: 通过避免创建临时的对象,可以大幅提高数字和字符串之间转换的效率。出错处理: 这些函数返回一个由指针和错误代码组成的结构体,可以帮助开发者更好地处理转换过程中可能出现的错误。灵活性: 这些函数可以与各种数值类型和字符串表示一起使用,提高了代码的通用性和可复用性。总的来说,和是C++17中非常有价值的新特性,它们可以帮助开发者编写更高效、更安全的数字和字符串转换代码。对于需要频繁进行这种转换的应用程序来说,使用这些函数可以带来显著的性能优势。原创 2024-07-25 09:51:57 · 569 阅读 · 0 评论 -
C17 string_view引入
stringview 好处:可读性更强了,开发者不必理会字符串传递规则,直接使用就能写出高性能的代码,把工作重点放在业务上。`std::string_view`虽然有很多优点,但也存在一些潜在的缺点,需要开发者注意:1. 所有权问题:- `std::string_view`不拥有它所引用的字符串数据,因此如果原始字符串数据在`std::string_view`对象的生命周期结束前被销毁,就会出现悬垂引用的问题。开发者需要谨慎管理字符串数据的生命周期。原创 2024-07-24 11:25:57 · 989 阅读 · 0 评论 -
cpp17 高级编程 std::launder 关键字
在c++17中:以前的 C++ 标准中,只要一个指针指向了合法的内存地址,并且类型正确,那么通过该指针访问对象通常都是定义良好的。但是在 C++17 中,这种假设被放松了。cpp新标准 引入内存操作,随之携带了很多关于内存方面的工具。launder即是与编译器沟通,告知编译器,一个指针所指向的对象已经被重新表示或修改,编译器应该放弃之前的假设。原创 2024-07-22 16:52:10 · 830 阅读 · 0 评论 -
cpp17 新特性 结构化绑定声明 简化代码!
结构化绑定,可以简化代码的同时,可读性更强。而且语法越来越像脚本语言。不知道在增加代码可读性情况下,性能是否会受影响。有研究性能这方面的大佬可以留下关于性能的评论。原创 2024-07-23 15:07:31 · 281 阅读 · 0 评论 -
c17新特性 文件操作 filesystem
学习和使用filesystem有利于我们开发出跨平台的应用,而且函数封装的很好,值得我们学习,以最少的时间,做出正确的效果。参考文献写的很详细,如果读取本文还有不懂得,可以进入文献,进一步的学习,开拓视野。原创 2024-07-24 17:32:57 · 7603 阅读 · 0 评论