首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
C++/CPP
Codemaxi
创建于2022-01-20
订阅专栏
C++/CPP learning note
等 26 人订阅
共39篇文章
创建于2022-01-20
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
C++进阶:关键字auto
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第6天,点击查看活动详情。 概念 我们都知道,现代的编程语言,不管是动态语言(JavaScript、Python 等),还是静态语言(
C++进阶:模板类型推导
所谓 "推导" 指的是编译器在某些情况下,可以根据调用方提供的信息来补全用户未提供的模板参数,是模板实例化 (template instantiation) 的一个步骤,发生的时机是在函数模版的调用时
C++ 多线程:std::atomic模板特化
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第4天,点击查看活动详情。 概念 std::atomic<>的每个实例化和完全特化表示不同线程可以同时操作(它们的实例)的类型,而不会
C++ 多线程:原子类型(std::atomic)
概念 我们平时编程时很多情况下需要在多个线程间共享一个简单的类型变量(int,bool,pointer等),对这种简单临界资源的访问,如有两个线程,对一个变量进行操作,一个线程读这个变量的值,一个线程
C++ 多线程:内存模型(std::memory_order)
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第2天,点击查看活动详情。 概念 在 C++11 标准原子库中(std::atomic),大多数函数都接受一个参数:std::memo
C++ 多线程:std::async
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第N天,点击查看活动详情。 概念 我们之前的文章介绍过了std::thread,它使得我们可以非常方便的创建线程,执行异步任务,它的基
C++ 多线程:std::packaged_task
上一篇介绍的std::promise通过set_value可以使得与之关联的std::future获取数据。本篇介绍的std::packaged_task则更为强大,它允许传入一个函数或其他可调用对象
C++ 多线程:std::promise
概念 std::promise是一个模板类: template<typename ResultType> class promise。其泛型参数ResultType是std::promise对象保存的
C++ 多线程:std::future
概念 我们前面介绍的std::thread 是C++11中提供异步创建多线程的工具,只能是异步运行任务,却无法获取任务执行的结果,一般都是依靠全局对象,全局对象在多线程下是及其不安全的,为此标准库提供
C++多线程:thread_local
概念 首先thread_local是一个关键词,thread_local是C++ 11新引入的一种存储期指定符。它会影响变量的存储周期(Storage duration),与它同是存储期指定符的还有以
C++多线程:std::call_once
在多线程的环境下,有些时候我们不需要某个函数被调用多次或者某些变量被初始化多次,它们仅仅只需要被调用一次或者初始化一次即可。很多时候我们为了初始化某些数据会写出如下代码,这些代码在单线程中是没有任何问
C++多线程:Lambda表达式
定义 Lambda 表达式可以说是c++11引用的最重要的特性之一,虽然跟多线程关系不大,但是它在多线程的场景下使用很频繁,所以在多线程这个主题下介绍它更合适。Lambda 来源于函数式编程的概念,也
C++多线程:condition_variable
官方定义 在多线程编程中,有一种十分常见的行为:线程同步。线程同步是指线程间需要按照预定的先后次序顺序进行的行为。C++11对这种行为也提供了有力的支持,这就是条件变量(condition_varia
C++多线程:锁管理(lock)
对于多线程,无法避免要使用到锁对共享资源的保护,这一节我们就来学习现代C++对于锁的管理(lock),上一节我们已经学习了现代C++对应的mutex,直到C++17,一共有六种类型。而今天学习的锁管理
C++ 多线程:互斥量(mutex)
C++ 11中的互斥量,声明在 <mutex> 头文件中,互斥量的使用可以在各种方面,比较常用在对共享数据的读写上,如果有多个线程同时读写一个数据,那么想要保证多线程安全,就必须对共享变量的读写进行保
C++多线程:std::thread
最近这段时间在学习C++多线程相关的知识,打算将学习的内容记录下来,加深理解和记忆。 C++11 新标准中引入了五个头文件来支持多线程编程,他们分别是<atomic> ,<thread>,<mutex
C++学习笔记:模板参数
本章节主要学习一下模板形参的基本知识。 模板参数有三种类型:类型模板参数、模板的模板参数(以模板作为模板的参数)、非类型模板参数。 类型模板参数 类型模板参数是我们使用模板的主要目的。也就是普通的类型
C++学习笔记:类模板
上一章我们介绍了函数模板,今天这章我们来学习类模板。 类模板声明 template是声明类模板的关键字,表示声明一个模板,模板参数可以是一个,也可以是多个,可以是**「类型参数」** ,也可以是**非
C++学习笔记:函数模板
函数模板 C++提供了模板(template)编程的概念。所谓模板,实际上是建立一个通用函数或类,其类内部的类型和函数的形参类型不具体指定,用一个虚拟的类型来代表,是一种对类型进行参数化的工具。这种通