首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏初代庄主

    pybind11 大大简化 Python 调用 CC++

    pybind11 介绍 可以把 pybind11 看成是一个胶水,它可以把 C/C++ 语言定义的对象,方便的导出成 python 认识的格式,这样 python 就能直接用了。 #include <pybind11/pybind11.h> namespace py = pybind11; int add(int i, int j) { return i + j; } PYBIND11_MODULE(example, m) { m.doc() = "pybind11 示例"; // 模块文档字符串 m.def("add", &add, "一个简单的加法函数 import sys from pybind11 import get_cmake_dir from pybind11.setup_helpers import Pybind11Extension, build_ext from setuptools import setup __version__ = "0.0.1" ext_modules = [ Pybind11Extension("example"

    3.7K20编辑于 2022-12-19
  • 来自专栏10km的专栏

    C++11 右值引用简化代码的例子

    C++11中引入了右值引用的概念 这里不再解释什么是右值引用,用一个例子说明右值引用对代码带的一些简化效果 下面是将一个方法分为两个版本,第一个方法中newNode使用右值引用参数newNode

    29320编辑于 2022-05-07
  • 来自专栏C++

    【C++】语法简化和增强,C++11都做了什么?

    前言 相比于C++98,C++11在C++98的基础上进行了大量的改进和扩展,包含了很多新特性,也包括对一些缺陷的修正,这些新特性和改进不仅提高了代码的质量和效率,还为开发者提供了更强大的工具和更灵活的编程方式 1、统一的列表初始化 C++11支持一切皆可列表初始化。 在C++98中我们可以对数组和结构体用{}进行初始化,C++11扩大了{}的使用范围,使其可以对所有内置类型和自定义类型初始化,可是说是统一了列表的初始化方式。其中初始化列表时,=是可以省略的。 中列表初始化也适用new表达式 int* p = new int[1] {0}; return 0; } C++11也支持创建对象时使用列表初始化调用构造函数初始化。 带来的一些语法简化和增强,后面会重点介绍C++11的新特性和功能,Lambda表达式、智能指针、多线程支持、右值引用等等,敬请期待。

    30010编辑于 2024-10-19
  • 来自专栏终身学习者

    使用这11个代码,可以大大地简化我们的代码。

    我们可能会这么写: if (value === 'a' || value === 'b' || value === 'c') { ... } 像这样如果有多个条件,if 条件就会很我,可读性降低,我们可以这样简化简化: if (!!toto.a?.b?.c) { ... } // toto.a.b.c exist // 如果键不存在,返回 `undefined`。 'new value' console.log(toto) //default value 11.使用 console timer 如果需要知道一个函数的执行时间,可以这么做: for (i = 0;

    56810编辑于 2022-06-15
  • 来自专栏YOLOv11改进专栏

    YOLOv11改进策略【SPPF】| SimSPPF,简化设计,提高计算效率

    一、本文介绍 本文记录的是基于SimSPPF模块的YOLOv11目标检测改进方法研究。介绍了SPP,SPPF以及SimSPPF。SimSPPF的设计更加简化,计算效率更高。 专栏目录:YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进 专栏地址:YOLOv11改进专栏——以发表论文的角度,快速准确的找到有效涨点的创新点 二、空间金字塔池化 2.1 SimSPPF SimSPPF(Simplified Spatial Pyramid Pooling - Fast)模块是YOLOv6中提出的一种简化的空间金字塔池化模块,主要用于计算机视觉任务中的特征提取 同时,简化的设计使得计算效率更高,适用于对实时性要求较高的计算机视觉任务。 三、实现代码及YOLOv11修改步骤 模块完整介绍、个人总结、实现代码、模块改进、二次创新以及各模型添加步骤参考如下地址: https://blog.csdn.net/qq_42591591/article

    1.1K20编辑于 2025-02-14
  • 来自专栏大猪的笔记

    简化

    把方法分解成命名良好的、处在细节的同一层面上的行为模块,以此来简化方法。 上层调用将不再关心细微的处理。而是业务逻辑。

    83220发布于 2019-11-22
  • 来自专栏10km的专栏

    C++11:利用模板简化重载右值引用参数的函数

    https://blog.csdn.net/10km/article/details/50827943 C++11标准中引入了右值的概念,是个非常好的东东,使用得当可以大大减少对象间无谓的复制 能不能更简化? 这样看起来一切都挺完美。。。但是,好像哪里不对。。。 如果按照上面的路子,对于复杂类型的参数对象,都要分别提供左值和右值引用两个版本,才能分别针对右值和右值进行处理。。。。

    1.2K10发布于 2019-05-25
  • 来自专栏C++11

    《C++11》`auto`关键字:简化类型推导的强大工具

    在C++11中,auto关键字的引入为程序员提供了一种简化类型声明的方式。它允许编译器根据初始化表达式自动推导变量的类型,从而减少了代码的冗长性和复杂性。 在C++11之前,定义变量时必须明确指定其类型,例如int、char等。然而,在一些灵活的编程语言(如C#、JavaScript、Python等)中,程序员可以省略类型声明,让编译器自动推导。 C++11为了顺应这一趋势,引入了auto关键字,允许编译器在编译期间自动推导变量的类型。 迭代器的类型通常很复杂,使用auto可以简化代码。 结论C++11中的auto关键字是一个强大的工具,可以显著简化代码的书写和维护。通过自动类型推导,程序员可以更专注于逻辑实现,而不是类型声明。

    37110编辑于 2025-01-02
  • 来自专栏goodcitizen

    c++ 11 是如何简化你的数据库访问接口的

    之前写过一篇文章专门分析了 c++ 模板编译过程中报的一个错误:《fatal error C1045: 编译器限制 : 链接规范嵌套太深 》,其中涉及到了 qtl —— 一个使用 c++ 11 构建的数据库访问库 ,当时限于篇幅,没有深入研究它是如何借助 c++ 11简化数据库访问接口的,本文现在就来探讨一下这方面的内容。 没有 c++ 11 之前,苦逼的程序员对于 sql 操作的输入输出,只好一行行敲代码,例如在调用数据库接口前设置绑定参数;在调用成功后,循环遍历查询的记录。 而 qtl 这种 c++ 11 库的出现,可以极大的简化上面的程序编写,下面还是用之前文章中提到的例子作为演示,让大家感受一下: 插入单条数据 1 uint64_t test_insert_single 和数据绑定 (binding) 来防止 sql 注入问题,而这会给接口带来不定数量的输入参数,幸好 c++ 11 的可变模板参数特性允许用户提供不限数量与类型的输入数据,是不是很方便?

    2.1K10编辑于 2022-08-31
  • 来自专栏HAUE_LYS'Blog

    比例简化

    Original Link 思想1: 暴力枚举。 枚举分子 i 和分母 j,利用 eps 作为差值的最小值来判断更新条件。 代码: #include <bits/stdc++.h> using namespace std; void solve(){ double a, b; int L; cin >> a >> b >> L; int aa, bb; double eps = 1e6; for(int i = 1; i <= L; i ++){ for

    1.5K50编辑于 2023-02-21
  • 来自专栏图形视觉

    网格简化

    同时,它也区别于Remesh,虽然都能达到网格简化的目的。它一般经过一系列局部的简化操作(比如顶点删除,边塌陷),来达到网格简化目的。 ---- 顶点简化 基于顶点的简化分为两步: 移除顶点和顶点的邻接三角片,产生一个洞 把洞补上 ---- 边简化 基于边的简化分为两步: 移除边以及边相邻的三角片 把边的两个端点合并为一个顶点 -- 它的特点: 计算速度相对较慢 对整体误差的控制优于局部操作 ---- 带纹理坐标的网格简化 单纯的网格简化和带纹理坐标的网格简化是有区别的,前者的简化的对象是下面左图所示的网格,后者的简化对象是UV域的网格 在UV域边界几何比较复杂的时候,UV边界处的顶点数目不可能简化太多。 当网格简化数目太多的时候,绝大部分的简化点发生在UV网格的内部顶点,这也会导致原始网格的几何简化的比较厉害,并且在UV边界处的几何扭曲会比较大。

    4.7K30发布于 2019-10-22
  • 来自专栏学习

    C++11新特性大揭秘:优化性能与简化代码的利器

    C++11当中的{}与传统的{} C++11之前的{}初始化 传统的{}初始化(C++03以及之前)——传统C++中, {}主要用于聚合初始化,仅用于聚合类型。 C++11之后的 {} 初始化(列表初始化) C++11引入了统一初始化语法(Uniform Initialization),扩展了 {} 的用途,使其适用于所有类型的初始化。 报错) int b(d); // 允许(但可能丢失精度) C++11当中的右值引用 前言:C++98的C++语法中就有引⽤的语法,⽽C++11中新增了的右值引⽤语法特性,C++11之后我们之前学习的引 绑定到临时结果(右值) C++11右值引用核心工具:std::move(标记可移动对象)、std::forward(保持值类别)。 通过模板或typedef中的类型操作可以构成引⽤的引⽤时,这时C++11给出了⼀个引⽤折叠的规则:右值引⽤的右值引⽤折叠成右值引⽤,所有其他组合均折叠成左值引⽤。

    76110编辑于 2025-03-17
  • 来自专栏C++系列

    【C++11特性篇】盘点C++11中三种简化声明的方式【auto】【decltype】【nullptr】(3)

    C++11中废弃auto原来的用法,将其用于实现自动类型推断。这样要求必须进行显示初始化 ,让编译器将定义对象的类型设置为初始化值的类型。 ; // int* p = 0; NULL被隐式类型转换成0 func(NULL); // func(0); return 0; } 所以出于清晰和安全的角度考虑,C++11

    24910编辑于 2024-01-23
  • 来自专栏用户6590312的专栏

    Spring配置简化

    Spring配置DispatcherServlet可以不显式的配置Spring的配置文件,使用与

    60820发布于 2021-01-13
  • 来自专栏葫芦

    linux if else 简化 && ||

    [root@wz ~]#cat gzip.sh  #!/bin/bash gzip -t web.tar.gz  if [[ 0 == $? ]]; then     echo "good zip"

    1.9K20发布于 2019-04-17
  • 来自专栏OSChina

    SpringBoot简化部署

    1 先要配置springboot、的插件(pom文件中劲量不要用中文) <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId>

    77930发布于 2019-08-01
  • 来自专栏完美Excel

    公式简化编程

    我们在使用VBA进行编程时,在程序代码中嵌入适当的Excel公式,可以达到很好的效果,可以简化程序代码,让程序更有效率。

    1.1K20编辑于 2022-11-16
  • 来自专栏SDNLAB

    简化MANO应用

    简化MANO,需要上述过程由电信运营商通过配置实现,不需要编排器的供应商参与其中,并且不需要对编排器进行编程改变。 现在的API和协议,如代表性状态转移(REST)之类的现代API和协议简化了编排器与这些外部关系的集成。 ☘ Documented。 API应该以文档记录下来(如XML模式定义(XSD)和YANG),以简化集成工作。 ☘ 组件化。除了编排功能正常之外,MANO架构还包括VNF管理器(VNFM)功能。

    1.3K40发布于 2018-03-30
  • 来自专栏PLC

    TRICONEX 3003 简化体系结构和简化连接的首选

    TRICONEX 3003 简化体系结构和简化连接的首选图片IIoT的OPC UA发布订阅:OPC基础规范的新1.04版本现在包括发布/订阅通信模型,该模型比以前的OPC UA标准中定义的客户端/服务器架构更适合工业

    49220编辑于 2023-04-23
  • 来自专栏从小白开始修炼

    【C++】C++11——简介|列表初始|简化声明|nullptr与范围for|STL中的变化

    一、C++11简介 在2003年C++标准委员会曾经提交了一份技术勘误表(简称TC1),使得C++03这个名字已经取代了C++98称为C++11之前的最新C++标准名称。 从C++0x到C++11,C++标准10年磨一剑,第二个真正意义上的标准珊珊来迟。 相比于C++98/03,C++11则带来了数量可观的变化,其中包含了约140个新特性,以及对C++03标准中约600个缺陷的修正,这使得C++11更像是从C++98/03中孕育出的一种新语言。 引入initializer_list后才支持的,而这些容器之所以支持使用列表进行初始化,是因为C++11提供了一个构造函数,以initializer_list为参数 看一下C++11vector的构造: = il.end()) { push_back(*it); ++it; } } ---- 三、简化声明 C++11提供了多种简化声明的方式。

    53820编辑于 2023-10-15
领券