IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> c++14特性 -> 正文阅读

[C++知识库]c++14特性

C++ 14

函数返回值类型推导

c++14 对函数返回类型推导规则做了优化:

auto func(int i) {
    return i;
}

返回值类型推导也可以用在模板中:

template<typename T>
auto func(T t){
    return t;
}

注意:

  • 函数内如果有多个return语句,必须返回相同的类型,否则编译失败
  • 如果return语句返回初始化列表,返回值类型推导也会失败
  • 如果函数是虚函数,不能使用返回值类型推导

lambda参数auto

c++11中,lambda表达式参数需要使用具体的类型声明:

auto func1 = [](int a){ return a; };

在c++14中,对此进行了优化,lambda表达式参数可以直接是auto:

auto func1 = [](auto a){ return a; };

std::make_unique

c++11中只有std::make_shared,c++14中增加了std::make_unique。

class TestA {
};

std::unique_ptr<A> ptr = std::make_unique<A>();

std::shared_timed_mutex 与 std::shared_lock

c++14通过std::shared_timed_mutex和std::shared_lock来实现读写锁,保证多个线程可以同时读,但是写线程必须独立运行。

实现方式如下:

class TestA {
public:
    TestA(): value_(0) {
    }
    
    int GetValue() const {
        std::shared_lock<std::shared_timed_mutex> readLock(mutex_);
        return value_;
    }
    
    void SetValue(int v) {
        std::unique_lock<std::shared_timed_mutex> writeLock(mutex_);
        value_ = v;
    }
private:
    int value_;
    // mutable 可变的,被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。
    mutable std::shared_timed_mutex mutex_;
};
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-11-30 15:24:34  更:2021-11-30 15:25:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:38:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码