logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

C++17新特性:结构化绑定/inline变量/if相关的变化

在没有结构化绑定的C++14/11乃至更早的时代,我们要从复合类型(如std::pairstd::tuple、结构体、数组)中提取多个元素时,代码往往冗长且容易出错。std::pairstd::tuple的解包//1、使用 std::tie 搭配 std::ignore//这是最接近结构化绑定语义的方法,但非常繁琐。必须提前声明所有变量,且无法使用 auto 自动推导类型。// 必须先声明,再使用

文章图片
#c++#后端#学习
C++17新特性:__had_include/属性/求值顺序规则

在C++17以前,并非标准C++的一部分,这给需要依赖特定库或平台特性的项目带来了巨大的兼容性难题。借助外部构建系统:最正统的方法是使用autoconf或CMake这类构建工具。它们在编译前运行测试程序,检测环境中的头文件、库和函数,并据此生成一个config.h头文件,其中定义了如的宏。开发者随后通过来编写条件代码。缺点:这种方法使得构建流程变得复杂,对于一个快速迭代的小型项目而言,维护构建脚本

文章图片
#c++#开发语言#后端
C++17特性:强制省略拷贝优化/折叠表达式/非类型模板参数/嵌套命名空间

C++17之前会这么写// C++14 风格// 这里开始才是你的代码过度缩进:三层命名空间就会浪费大量水平空间,尤其在已经存在类、函数等多层缩进的代码里,严重挑战代码列宽限制。视觉噪音:大量的闭合花括号和注释()仅是机械重复,分散了开发者对实际逻辑的注意力。重构代价:如果命名空间层次发生变化,需要小心翼翼地增删层级并调整所有花括号,极易出错。部分团队为缓解缩进问题,会采用宏或简写风格,但这不是标

文章图片
#c++#开发语言
C++17新特性:optional/variant/any/string_view

本期我们就来介绍一下C++17中新增的标准库的接口。

文章图片
#c++#后端#学习
C++20现代特性:概念与约束

(在可行函数集确定后)的一种排序机制。它发生在模板实参推导之后、更好的转换序列比较之后。如果一个约束模板比其他约束模板“更受约束”,它将被认为比另一个更特化(specialized),从而胜出。

文章图片
#c++20#c++#后端 +2
C++20新特性:协程

协程是一种能够暂停执行并在稍后恢复的泛型函数组件。它不同于普通函数的一次性调用-返回模型,而是提供了一种可多次挂起(Suspend)和恢复(Resume)的执行流,允许你以近乎同步代码的方式编写异步逻辑,从而在保持高可读性的同时,获得异步执行的性能优势。协程被明确为一种语言级别的特性,通过三个关键字co_awaitco_yieldco_return标识。编译器会为协程生成一个状态机,将局部变量、挂

文章图片
#c++20#c++#开发语言 +2
C#学习:分支与循环

本期我们就接着来学习C#的分支与循环。

文章图片
#学习#c##后端 +1
C++20新特性:协程

协程是一种能够暂停执行并在稍后恢复的泛型函数组件。它不同于普通函数的一次性调用-返回模型,而是提供了一种可多次挂起(Suspend)和恢复(Resume)的执行流,允许你以近乎同步代码的方式编写异步逻辑,从而在保持高可读性的同时,获得异步执行的性能优势。协程被明确为一种语言级别的特性,通过三个关键字co_awaitco_yieldco_return标识。编译器会为协程生成一个状态机,将局部变量、挂

文章图片
#c++20#c++#开发语言 +2
C++17新特性:结构化绑定/inline变量/if相关的变化

在没有结构化绑定的C++14/11乃至更早的时代,我们要从复合类型(如std::pairstd::tuple、结构体、数组)中提取多个元素时,代码往往冗长且容易出错。std::pairstd::tuple的解包//1、使用 std::tie 搭配 std::ignore//这是最接近结构化绑定语义的方法,但非常繁琐。必须提前声明所有变量,且无法使用 auto 自动推导类型。// 必须先声明,再使用

文章图片
#c++#后端#学习
Linux网络:网络多路IO模型详解

之前我们学习的系统IO主要是外设与内存的通信。而网络通信本质上依然是IO的一种。IO分为两个部分——等待数据就绪+数据拷贝。任何IO过程中, 都包含两个步骤. 第一是等待, 第二是拷贝. 而且在实际的应用场景中, 等待消耗的时间往往都远远高于拷贝的时间. 让IO更高效, 最核心的办法就是让等待的时间尽量少.

文章图片
#linux#网络#数据库
    共 38 条
  • 1
  • 2
  • 3
  • 4
  • 请选择