文章 2024-03-27 来自:开发者社区

【C++ 14 新特性 std::integer_sequence 】了解 std::integer_sequence 的使用

第一章: 引言 在探索任何技术领域之旅的开端,了解其背景、起源和发展历程总是至关重要的。这不仅有助于我们构建对该技术的整体认识,而且在一定程度上,也能激发我们对其深入研究的兴趣和热情。在这一章中,我们将深入探讨 C++ 的一个强大工具 — std::integer_sequence,它不仅在模板元编程领域发挥着不可或缺的作用,而且也是现代 C++ 中不可或缺的组成部分。 1.1 ...

文章 2024-03-27 来自:开发者社区

C++ 17 新特性 C++ String View:了解C++ 17 std::string_view的使用场景

第一章: 引言:字符串处理在C++中的重要性 在探索编程语言的世界中,字符串处理无疑是其中最为核心和频繁的任务之一。在C++中,字符串不仅是信息交流的基础,也是程序逻辑和数据处理的关键组成部分。就像在现实生活中,我们用语言来表达想法和感受,程序中的字符串则是表达和储存数据的基本方式。 1.1 字符串在编程中的角色 字符串在程序设计中扮演着至关重要的角色。它们不仅是用户界面...

文章 2024-03-25 来自:开发者社区

【C++ 17 新特性 std::variant】C++ std::variant 的 深入探讨

1. 引言 在现代C++编程中,std::variant(变体)已经成为了一个不可或缺的工具。但为什么它如此重要?为什么程序员会选择使用它?这背后的原因不仅仅是技术上的,还涉及到人性的深层次需求。 1.1 std::variant 的定义与重要性 std::variant 是C++17引入的一个模板类,它可以存储多种不同类型的值,但在任何时候只能存储其中一种类型的值。从心...

文章 2024-03-25 来自:开发者社区

【C++ 20 信号量 】C++ 线程同步新特性 C++ 20 std::counting_semaphore 信号量的用法 控制对共享资源的并发访问

简介 信号量(Semaphore)是一种轻量级的同步原语,用于限制对共享资源的并发访问。与条件变量相比,在某些情况下,使用信号量可以更高效。 在C++标准库的头文件中,定义了以下两种类型的信号量: counting_semaphore:这是一个模型非负资源计数的信号量类型。它是一个类模板,可以用于实现具有不同计数值的信号量。 binary_semaphore:这是...

【C++ 20 信号量 】C++ 线程同步新特性 C++ 20 std::counting_semaphore 信号量的用法 控制对共享资源的并发访问
文章 2023-09-03 来自:开发者社区

C++11特性之std:call_once介绍

std:call_once是C++11引入的新特性,如需使用,只需要#include <mutex>即可,简单来说std:call_once的作用,确保函数或代码片段在多线程环境下,只需要执行一次,常用的场景如Init()操作或一些系统参数的获取等。相对来说,std::call_once用法比较简单,配合std::once_flag即可实现,废话不多说,上代码:#include "s....

C++11特性之std:call_once介绍
文章 2023-09-03 来自:开发者社区

C++17新特性之std::string_view

std::string_view系C++17标准发布后新增的内容,类成员变量包含两个部分:字符串指针和字符串长度,相比std::string, std::string_view涵盖了std::string的所有只读接口。如果生成的std::string无需进行修改操作,可以把std::string转换为std::string_view,std::string_view记录了对应的字符串指针和偏移....

C++17新特性之std::string_view
文章 2021-11-14 来自:开发者社区

详谈C++11新特性之future及开源项目ananas(folly,std c++11和ananas的future各自的区别是?)(而)

下面就几种场景展示一下使用ananas future的解决方案。3.使用场景3.1 按顺序向多个服务器发起请求:链式调用服务器需要向redis1拉取玩家基础信息,获得基础信息后,又根据其内容,再向redis2请求获取详细信息。在老式C代码中,使用callback我们一般需要保存上下文,而C++11可以利用shared_ptr和lambda模拟闭包以捕获上下文://1. 异步获取基础信息 redi....

文章 2021-11-14 来自:开发者社区

详谈C++11新特性之future及开源项目ananas(folly,std c++11和ananas的future各自的区别是?)(一)

一、前言1、最早我是从微信公众号看到这篇文章的,了解到开源项目ananas(A C++11/golang protobuf RPC framework)实现了Linux高性能网络库和rpc功能,里面的核心是重写了C++11 future的用法。微信文章的链接是:https://mp.weixin.qq.com/s/hurLTscQv0eQHXqCmtKaJQananas的作者是Bert Youn....

文章 2020-05-01 来自:开发者社区

透彻理解C++11新特性:右值引用、std::move、std::forward

透彻理解C++11新特性:右值引用、std::move、std::forward 目录浅拷贝、深拷贝左值、右值右值引用类型强转右值 std::move重新审视右值引用右值引用类型和右值的关系函数参数传递函数返还值传递万能引用引用折叠完美转发 std::forwardC++11出现的右值相关语法可谓是很多C++程序员难以理解的新特性,不少人知其然而不知其所以然,面试被问到时大概就只知道可以减少开销....

文章 2015-08-21 来自:开发者社区

c++11特性与cocos2d-x 3.0之std::bind与std::function

 原文地址:http://www.cnblogs.com/slysky/p/3822640.html 作者:阳光下的蒲公英 c++11特性与cocos2d-x 3.0之std::bind与std::function 昨天同事让帮忙写一小功能,才发现cocos2d-x 3.0 和 cocos2d-x 3.0rc0 差别还是相当大的。 发现Label这一个控件,3.0就比rc0版本多了一个创...

c++11特性与cocos2d-x 3.0之std::bind与std::function

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

开发与运维

集结各类场景实战经验,助你开发运维畅行无忧

+关注