![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++新特性
文章平均质量分 85
C++ 11/14/17/20
柚子树cc
但行好事 莫问前程
展开
-
C++中的std::bind和std::function
std::bindstd::bind可以将可调用对象和一组参数绑定,并且可以自定义参数绑定顺序,绑定后的结果可以直接作为可调用对象进行调用,也可以继续绑定到std::function,作为回调函数使用。示例代码如下:/** * @file bind.cpp * @brief * @author DuYong * @date 2021-08-05 */#include <iostream>void foo(int param1, int param2, i原创 2021-08-11 00:17:06 · 412 阅读 · 0 评论 -
C++20新特性总结
一、The Big Four1.1 ConceptsC++中模板编程极大地简化了代码的编写,但同时也会带来一些使用上的疑惑,例如一下代码片段,判断两个数是否相等,只要是重载了==运算符,自定义类型也可以使用该模板实例化对应的比较函数:/** * @file comcept.cpp * @brief * @author YongDu * @date 2021-07-20 */template <typename T>auto isEqual(T .原创 2021-07-22 21:13:24 · 2432 阅读 · 6 评论 -
C++17新特性总结
参考链接:C++17一、语言特性1.1 折叠表达式C++17中引入了折叠表达式,主要是方便模板编程,分为左右折叠,下图为其解包形式:template <typename... Args> auto sub_right(Args... args) { return (args - ...);}template <typename... Args> auto sub_left(Args... args) { return (... - args); }templa原创 2021-07-20 20:13:07 · 3451 阅读 · 2 评论 -
C++14新特性总结
一、语言特性1.1 函数返回类型推导如下,声明一个返回类型为auto的函数,让它依据函数调用时传入的参数进行推导,指定C++11标准进行编译,我用的是clang编译器,编译命令为:clang++ -std=c++11 1.1.cpp,发现会有编译错误,并且报告说这是C++14的新特性,如下:/** * @file 1.1.cpp * @brief * @author YongDu * @date 2021-07-18 */#include <iostream>原创 2021-07-19 00:08:03 · 6278 阅读 · 2 评论 -
《深入理解C++11》阅读笔记
1、新标准的诞生C++11 是 C++ 的第二个主要版本(前一个是 C++98 而后一个是 C++17 ),并且是从 C++98 起的最重要更新。它引入了大量更改,标准化了既有实践,并改进了对 C++ 程序员可用的抽象。在它最终由 ISO 在 2011 年 8 月 12 日承认前,人们曾使用名称 ‘C++0x’ ,因为它曾被期待在 2010 年之前发布。 C++03 与 C++11 期间花了 8 年时间,故而这是迄今为止最长的版本间隔。从那时起, C++ 规则地每 3 年更新一次。C++11相对于C+原创 2021-07-18 19:58:01 · 879 阅读 · 10 评论