随笔分类 -  c++11

c++11
摘要:泛型的实现浅谈 来源 https://zhuanlan.zhihu.com/p/488315752 来源 https://www.bmpi.dev/dev/deep-in-program-language/how-to-implement-generics/ 从Go引入泛型说起 本月,Go 1.18 阅读全文
posted @ 2022-09-25 23:57 lsgxeva 阅读(180) 评论(0) 推荐(0) 编辑
摘要:深入理解左值、右值 作者:高性能架构探索链接:https://www.zhihu.com/question/428340896/answer/2353437577 恰好之前写过一篇类似文章,发表于公众号【高性能架构探索】 原文链接如下: 【Modern C++】深入理解左值、右值 作为C/C++开发 阅读全文
posted @ 2022-09-24 22:52 lsgxeva 阅读(263) 评论(0) 推荐(1) 编辑
摘要:C++ 11 线程、锁和条件变量 https://fzheng.me/2016/08/11/cpp11-multi-thread/ 原文: C++11 threads, locks and condition variables 线程 std::thread 类, 位于 <thread> 头文件,实 阅读全文
posted @ 2020-07-12 21:56 lsgxeva 阅读(416) 评论(0) 推荐(0) 编辑
摘要:C++11 并发指南系列 来源 https://www.cnblogs.com/haippy/p/3284540.html 本系列文章主要介绍 C++11 并发编程,计划分为 9 章介绍 C++11 的并发和多线程编程,分别如下: C++11 并发指南一(C++11 多线程初探)(本章计划 1-2 阅读全文
posted @ 2020-03-17 17:56 lsgxeva 阅读(405) 评论(0) 推荐(0) 编辑
摘要:华为方舟编译器 官方网站:https://www.openarkcompiler.cn 代码托管网站:https://code.opensource.huaweicloud.com/HarmonyOS/OpenArkCompiler 码云镜像仓库地址:https://gitee.com/harmon 阅读全文
posted @ 2019-09-02 09:09 lsgxeva 阅读(571) 评论(0) 推荐(0) 编辑
摘要:c++11 右值引用、移动语义和完美转发 作者:StormZhu链接:https://www.jianshu.com/p/d19fc8447eaa c++中引入了右值引用和移动语义,可以避免无谓的复制,提高程序性能。有点难理解,于是花时间整理一下自己的理解。 左值、右值 C++中所有的值都必然属于左 阅读全文
posted @ 2019-07-08 11:36 lsgxeva 阅读(1548) 评论(0) 推荐(0) 编辑
摘要:C/C++ 程序库 // 来几个不常见但是很变态的库吧: bundle: 把几乎所有常见的压缩库封装成了一个库, 接口完全统一, 想用哪个用哪个. 就一个h和一个巨TM大的cpp文件,巨好使巨方便. r-lyeh-archived/bundle Celero: 简单清晰的benchmark库, 特点 阅读全文
posted @ 2019-03-22 15:32 lsgxeva 阅读(1005) 评论(0) 推荐(1) 编辑
摘要:lib和dll的区别与使用 共有两种库:一种是LIB包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library。一种是LIB包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链接库static l 阅读全文
posted @ 2018-10-23 15:24 lsgxeva 阅读(703) 评论(0) 推荐(0) 编辑
摘要:vs2017自动生成的#include“stdafx.h”详解及解决方案 问题描述: 在高版本的Visual Studio的默认设置中,会出现这么一个现象,在新建项目之后,项目会自动生成#include“stdafx.h”的头文件,而且删掉之后,即使是自己正常编写的程序也会显示出错: (关于黑/深色 阅读全文
posted @ 2018-10-23 15:13 lsgxeva 阅读(14207) 评论(1) 推荐(0) 编辑
摘要:C++11 tuple 元组 tuple容器(元组), 是表示元组容器, 是不包含任何结构的,快速而低质(粗制滥造, quick and dirty)的, 可以用于函数返回多个返回值; tuple容器, 可以使用直接初始化, 和"make_tuple()"初始化, 访问元素使用"get<>()"方法 阅读全文
posted @ 2018-01-09 12:39 lsgxeva 阅读(31360) 评论(0) 推荐(1) 编辑
摘要:c++11 线程的互斥量 为什么需要互斥量 在多任务操作系统中,同时运行的多个任务可能都需要使用同一种资源。这个过程有点类似于,公司部门里,我在使用着打印机打印东西的同时(还没有打印完),别人刚好也在此刻使用打印机打印东西,如果不做任何处理的话,打印出来的东西肯定是错乱的。 独占互斥量std::mu 阅读全文
posted @ 2017-11-05 22:11 lsgxeva 阅读(1384) 评论(0) 推荐(0) 编辑
摘要:c++11 语言级线程 线程的创建 用std::thread创建线程非常简单,只需要提供线程函数或函数对象即可,并且可以同时指定线程函数的参数。 回收线程资源 std::thread::join等待线程结束(此函数会阻塞),并回收线程资源,如果线程函数有返回值,返回值将被忽略。 如果不希望线程被阻塞 阅读全文
posted @ 2017-11-05 21:50 lsgxeva 阅读(534) 评论(0) 推荐(0) 编辑
摘要:c++11 lambda表达式 lambda 表达式(lambda expression)是一个匿名函数,lambda表达式基于数学中的 λ 演算得名。 C++11中的lambda表达式用于定义并创建匿名的函数对象,以简化编程工作。 lambda表达式的基本构成: ①函数对象参数 [],标识一个la 阅读全文
posted @ 2017-11-05 20:23 lsgxeva 阅读(1125) 评论(0) 推荐(0) 编辑
摘要:c++11 闭包的实现 什么是闭包 闭包有很多种定义,一种说法是,闭包是带有上下文的函数。说白了,就是有状态的函数。更直接一些,不就是个类吗?换了个名字而已。 一个函数,带上了一个状态,就变成了闭包了。那什么叫 “带上状态” 呢? 意思是这个闭包有属于自己的变量,这些个变量的值是创建闭包的时候设置的 阅读全文
posted @ 2017-11-05 19:11 lsgxeva 阅读(12588) 评论(1) 推荐(0) 编辑
摘要:c++11 智能指针 unique_ptr、shared_ptr与weak_ptr C++11中有unique_ptr、shared_ptr与weak_ptr等智能指针(smart pointer),定义在<memory>中。 可以对动态资源进行管理,保证任何情况下,已构造的对象最终会销毁,即它的析 阅读全文
posted @ 2017-11-05 17:57 lsgxeva 阅读(23454) 评论(0) 推荐(6) 编辑
摘要:c++11 标准库函数 std::move 和 完美转发 std::forward 阅读全文
posted @ 2017-11-05 16:02 lsgxeva 阅读(2593) 评论(0) 推荐(1) 编辑
摘要:c++11 移动语义 阅读全文
posted @ 2017-11-05 15:46 lsgxeva 阅读(626) 评论(0) 推荐(0) 编辑
摘要:c++11 左值引用、右值引用 阅读全文
posted @ 2017-11-05 15:30 lsgxeva 阅读(814) 评论(0) 推荐(0) 编辑
摘要:c++11 可变参数模板类 阅读全文
posted @ 2017-11-05 15:21 lsgxeva 阅读(3212) 评论(1) 推荐(0) 编辑
摘要:c++11 可变参数模板函数 阅读全文
posted @ 2017-11-05 15:18 lsgxeva 阅读(3365) 评论(0) 推荐(1) 编辑