经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
 C++
C++ 核心指南之 C++ P.哲学/基本理念(上)

C++ 核心指南之 C++ P.哲学/基本理念(上)

C++ 核心指南(C++ Core Guidelines)是由 Bjarne Stroustrup、Herb Sutter 等顶尖 C+ 专家创建的一份 C++ 指南、规则及最佳实践。旨在帮助大家正确、高效地使用“现代 C++”。 这份指南侧重于接口、资源管理、内存管理、并发等 High-l...[2023/7/31]

vs(visual stuiod)中vc++工程的Filter和Folder及vcxproj知识

vs中创建Filter 在一个新项目中右键 - Add - New,默认只有一选项 New Filter。 创建出来的Filter可以理解为是VS的过滤器(虚拟目录),它不会在本地的磁盘上新建目录,而是修改了.filters文件,把这种目录关系记录在.filters文件中。 新建一个vc...[2023/7/31]

树形DP + 换根DP

树形DP + 换根DP

树形DP——基础 P1352 没有上司的舞会 设 \(f[i][0/1]\) 表示第 \(i\) 个人不去或者去。 如果第 \(i\) 个人没去,那么下属可去可不去,所以 \(f[i][0] = \sum max\{f[j][0],f[j][1]\}\),\(j\) 为 \(i\) 的子节点。...[2023/7/28]

【持续更新】C/C++ 踩坑记录(一)

未定义行为之 NULL dereference 下面这段代码中 is_valid() 解引用了空指针 str,我们的直觉是编译运行后将迎来 SIGSEGV,然而事情并非所期望的那样。 /* * ub_null.c - 未定义行为演示 之 NULL dereference */ #inclu...[2023/7/26]

常用语言的线程模型(Java、go、C++、python3)

背景知识 软件是如何驱动硬件的? 硬件是需要相关的驱动程序才能执行,而驱动程序是安装在操作系统内核中。如果写了一个程序A,A程序想操作硬件工作,首先需要进行系统调用,由内核去找对应的驱动程序驱使硬件工作。而驱动程序怎么让硬件工作的呢?驱动程序作为硬件和操作系统之间的媒介,可以把操作系统中相关的...[2023/7/17]

现代C++(Modern C++)基本用法实践:三、移动语义

现代C++(Modern C++)基本用法实践:三、移动语义

概述 移动 移动(move)语义C++引入了一种新的内存优化,以避免不必要的拷贝。在构造或者赋值的时候,如果实参是右值(或者左值由std::move转换成右值),便会匹配移动语义的函数调用如下述举例的Str(Str&& obj)。 移动语义的本质是将资源(内存/句柄)转移给另一...[2023/7/17]

C++面试八股文:如何避免死锁?

某日二师兄参加XXX科技公司的C++工程师开发岗位第31面: 面试官:什么是锁?有什么作用? 二师兄:在C++中,锁(Lock)是一种同步工具,用于保护共享资源,防止多个线程同时访问,从而避免数据竞争和不一致。 面试官:有哪些锁? 二师兄:从种类上分,可以分为普通锁、读写锁、递归锁等种...[2023/7/5]

C++面试八股文:用过std::set/std::map吗?

C++面试八股文:用过std::set/std::map吗?

某日二师兄参加XXX科技公司的C++工程师开发岗位第27面: 面试官:用过std::set td::map吗? 二师兄:用过。 面试官:能介绍一下二者吗? 二师兄:std::set是一个有序的集合,其中的元素是唯一的,即每个元素只能出现一次。一般用于去重和自动排序。 二师兄:std:...[2023/6/28]

浅谈OpenCV的多对象匹配图像的实现,以及如何匹配半透明控件,不规则图像

浅谈OpenCV的多对象匹配透明图像的实现,以及如何匹配半透明控件 引子 OpenCV提供的templateMatch只负责将(相关性等)计算出来,并不会直接提供目标的对应坐标,一般来说我们直接遍历最高的相关度,就可以得到匹配度最高的坐标。但是这样一般只能得到一个坐标。 在实际操作中,我们可能...[2023/6/26]

C++ 核心指南之资源管理(中)

C++ 核心指南(C++ Core Guidelines)是由 Bjarne Stroustrup、Herb Sutter 等顶尖 C++ 专家创建的一份 C++ 指南、规则及最佳实践。旨在帮助大家正确、高效地使用“现代 C++”。 这份指南侧重于接口、资源管理、内存管理、并发等 High-...[2023/6/26]

C++面试八股文:std::array如何实现编译器排序?

某日二师兄参加XXX科技公司的C++工程师开发岗位第25面: 面试官:array熟悉吗? 二师兄:你说的是原生数组还是std::array? 面试官:你觉得两者有什么区别? 二师兄:区别不是很大,原生数组(非动态数组)和std::array都在栈上开辟空间,初始化的时候需要提供数组长度...[2023/6/26]

C++面试八股文:static_cast了解一下?

某日二师兄参加XXX科技公司的C++工程师开发岗位第20面: 面试官:C++中支持哪些类型转换? 二师兄:C++支持C风格的类型转换,并在C++11引入新的关键字规范了类型转换。 二师兄:C++11引入四种新的类型转换,分别是static_cast、dynamic_cast、const_...[2023/6/21]

C++面试八股文:什么是智能指针?

某日二师兄参加XXX科技公司的C++工程师开发岗位第19面: 面试官:什么是智能指针? 二师兄:智能指针是C++11引入的类模板,用于管理资源,行为类似于指针,但不需要手动申请、释放资源,所以称为智能指针。 面试官:C++11引入了哪些智能指针? 二师兄:三种,分别是shared_pt...[2023/6/19]

现代C++学习指南-方向篇

C++是一门有着四十年历史的语言,先后经历过四次版本大升级(诞生、98、11、17(20),14算小升级)。每次升级都是很多问题和解决方案的取舍。了解这些历史,能更好地帮助我们理清语言的发展脉络。所以接下来我将借它的发展历程,谈一谈我对它的理解,最后给出我认为比较合理的学习路线指南。 C++0...[2023/6/19]

C++面试八股文:什么是RAII?

某日二师兄参加XXX科技公司的C++工程师开发岗位第13面: 面试官:什么是RAII? 二师兄:RAII是Resource Acquisition Is Initialization的缩写。翻译成中文是资源获取即初始化。 面试官:RAII有什么特点和优势? 二师兄:主要的特点是,在对象...[2023/6/14]

c++ 模板详解

模板就是将类型进行参数化 函数模板 函数模板的定义格式 template<cla 形参名,cla 形参名...> 返回值类型 函数名(参数列表){ 函数体; } 模板形参不能为空,并且函数模板中每一个类型参数在函数参数表中至少使用一次,只有这样才能推断出具体的类...[2023/6/9]

C++面试八股文:C++中,设计一个类要注意哪些东西?

某日二师兄参加XXX科技公司的C++工程师开发岗位第9面: 面试官:C++中,设计一个类要注意哪些东西? 二师兄:设计一个类主要考虑以下几个方面:1.面向对象的封装、继承及多态。2.big three或者big five。3.运算符和函数重载、静态成员、友元、异常处理等相关问题。 面试官...[2023/6/9]

现代 C++ 性能飞跃之:移动语义

现代 C++ 性能飞跃之:移动语义

*以下内容为本人的学习笔记,如需要转载,请声明原文链接 微信公众号「ENG八戒」https: mp.weixin.qq.com Xd_FwT8E8Yx9Vnb64h6C8w 带给现代 C++ 性能飞跃的特性很多,今天一边聊技术,一边送福利! 过去写 C/C++ 代码,大家对数据做传...[2023/6/9]

C++ this 指针

C++ this 指针

第一部分 this 指针的类型可理解为 Box*。 此时得到两个地址分别为 box1 和 box2 对象的地址。 实例: #include <iostream> using namespace std; cla Box{ public: Box(){;...[2023/6/8]

混合编程python与C++

上个版本: 只是用到ctypes进行传输, 这次将python服务端更改为C++服务端,方便后续维护. 本文实现功能: python传输图片给C++, C++接受图片后对图片进行处理,并将结果返回给python客户端, pa image from python to C++ C++ 服务端 ...[2023/6/8]

C++面试八股文:C++中,函数的参数应该传值还是传引用?

某日二师兄参加XXX科技公司的C++工程师开发岗位第8面: 面试官:C++中,函数的参数应该传值还是传引用? 二师兄:要看参数的用途。如果是出参,必须传引用。如果是入参,主要考虑参数类型的大小,来决定传值还是传引用。 面试官:为什么不使用指针? 二师兄:传指针也称之为传引用(pa b...[2023/6/8]

C++ 类 & 对象

C++ 类 & 对象

一、C++ 类 & 对象 C++ 类定义 定义一个类需要使用关键字 cla ,然后指定类的名称,并类的主体是包含在一对花括号中,主体包含类的成员变量和成员函数。 定义一个类,本质上是定义一个数据类型的蓝图,它定义了类的对象包括了什么,以及可以在这个对象上执行哪些操作。 关键字 publi...[2023/6/7]

在C++中,传值还是传引用?

在C++中,传值还是传引用?

情况一:需要修改原对象 需要修改原对象的情况,必须要传引用。这种情况没什么要说的。 情况二:不需要修改原对象 对于内置类型(整数、浮点数、字符类型等),传值效率更高。主要有三点原因: 内存开销更小。由于内置类型普遍小于8byte,因此内存占用和拷贝开销均较小。 局部性更好。传值时,函数...[2023/5/30]

Multiserver游戏服务器Demo[C++&Lua]

代码参考 代码文件参考下述详解的类图,工程参考第零章工程说明 关键特性 对Socket库进行封装,抹平Socket的Window&Linux的平台差异。 C++嵌入lua脚本,增加开发者编码效率,减少编译时间消耗。 非阻塞网络IO 多线程任务模型 多服务模型 详解 Socket库封装...[2023/5/29]

【重学C++】05 | 说透右值引用、移动语义、完美转发(下)

文章首发 【重学C++】05 | 说透右值引用、移动语义、完美转发(下) 引言 大家好,我是只讲技术干货的会玩code,今天是【重学C++】的第五讲,在第四讲《【重学C++】04 | 说透右值引用、移动语义、完美转发(上)》中,我们解释了右值和右值引用的相关概念,并介绍了C++的移动语义以及如...[2023/5/29]

【重学C++】01| C++ 如何进行内存资源管理?

【重学C++】01| C++ 如何进行内存资源管理?

文章首发 【重学C++】01| C++ 如何进行内存资源管理? 前言 大家好,我是只讲技术干货的会玩code,今天是【重学C++】的第一讲,我们来学习下C++的内存管理。 与java、golang等自带垃圾回收机制的语言不同,C++并不会自动回收内存。我们必须手动管理堆上内存分配和释放,这往...[2023/5/22]

C++中的字符串编码处理

C++中的字符串编码处理

今天由于在项目中用到一些与C++混合开发的东西 ,需要通过socket与C++那边交换数据,没啥特别的,字节码而已,两边确定一种编码规则就行了。我们确定的UTF-8。关于C++的 这种又是宽字节 又是Me ageBoxW 又是Me ageBoxA 的 ,说实话相比C#而言 搞的确实非常的和稀泥 ...[2023/5/15]

C++/Qt遍历多维数组的3种方式示例

C++/Qt遍历多维数组的3种方式示例

目录一、什么是多维数组二、遍历多维数组2.1 使用范围for语句处理多维数组2.2 使用指针遍历多维数组2.3 使用类型别名遍历多维数组附:多维数组初始化总结 一、什么是多维数组 想要遍历多维数组,就得知道什么是多维数组。 严格来说,C++语言中没有多维数组,通常所说的多维数组其实是数组的数...[2023/5/15]

C++实现读写ini配置文件的示例代码

目录1.概述2.ini格式语法3.配置读取4.demo示例5.自动生成读取代码 1.概述 配置文件的读取是每个程序必备的功能,配置文件的格式多种多样,例如:ini格式、json格式、xml格式等。其中属ini格式最为简单,且应用广泛。 2.ini格式语法 注释内容采用“#&rd...[2023/5/8]

用C++编写一个简单的发布者和订阅者

用C++编写一个简单的发布者和订阅者

摘要:节点(Node)是通过 ROS 图进行通信的可执行进程。 本文分享自华为云社区《编写一个简单的发布者和订阅者》,作者: MAVER1CK 。 @[toc] 参考官方文档:Writing a simple publisher and subscriber (C++) 背景 节点(Nod...[2023/4/28]

C++实现单例模式日志输出详解

目录一、单例模式简单介绍1.1 基础介绍1.2 单例模式使用场景二、单例模式实现日志记录(Singleton Logger)三、总结 一、单例模式简单介绍 1.1 基础介绍 单例模式只保证一个程序内只有一个实例存在,并提供全局访问点来访问该实例,其实就是单例模式的类对象只允许存在一个,它和多...[2023/4/24]

C++ 测试框架 GoogleTest 初学者入门篇 丙

theme: channing-cyan *以下内容为本人的学习笔记,如需要转载,请声明原文链接 微信公众号「ENG八戒」https: mp.weixin.qq.com RIztusI3uKRnoHVf0sloeg 开发者虽然主要负责工程里的开发任务,但是每个开发完毕的功能都是需要开发...[2023/4/17]

网络框架重构之路plain2.0(c++23 without module) 综述

最近互联网行业一片哀叹,这是受到三年影响的后遗症,许多的公司也未能挺过寒冬,一些外资也开始撤出市场,因此许多的IT从业人员加入失业的行列,而且由于公司较少导致许多人求职进度缓慢,很不幸本人也是其中之一。自从参加工作以来,一直都是忙忙碌碌,开始总认为工作只是为了更好的生活,但是一旦工作停下来后自...[2023/4/12]

利用C++实现简易的狼人杀游戏

利用C++实现简易的狼人杀游戏

狼人杀游戏是一款非常有趣的角色扮演游戏,它需要玩家之间互相猜测身份并进行投票,通过推理来找出真正的狼人。 以下是一个基本的狼人杀游戏的C++实现,其中包含游戏角色、游戏流程和基本的逻辑。你可以根据需要添加更多的功能和细节。 #include <iostream> #inclu...[2023/4/10]

Algorithm参数记录

一、vector<Point2f> vector 是一个存储二维点坐标的容器,其中每个元素都是一个Point2f类型的对象。在OpenCV中,Point2f表示一个由两个单精度浮点数构成的二维点坐标。 你可以使用vector 来存储一些二维坐标信息,比如图像中的关键点或轮廓点等。具...[2023/4/7]

C++库封装JNI接口——实现java调用c++ - Lee-zq

1. JNI原理概述 通常为了更加灵活高效地实现计算逻辑,我们一般使用C/C++实现,编译为动态库,并为其设置C接口和C++接口。用C++实现的一个库其实是一个或多个类的简单编译链接产物。然后暴露其实现类构造方法和纯虚接口类。这样就可以通过多态调用到库内部的实现类及其成员方法。进一步地,为了让不...[2023/4/6]

C++ 测试框架 GoogleTest 初学者入门篇 甲

C++ 测试框架 GoogleTest 初学者入门篇 甲

*以下内容为本人的学习笔记,如需要转载,请声明原文链接 微信公众号「ENG八戒」https: mp.weixin.qq.com BS_u9A4EY50y4vDDuxkCAQ 开发者虽然主要负责工程里的开发任务,但是每个开发完毕的功能都是需要开发者自测通过的,所以经常会听到开发者提起单元测试...[2023/3/31]

C++类中三大函数详解(构造、析构和拷贝)

目录前言一.构造函数1.构造函数的作用2.构造函数的语法 类名(){}二.析构函数1.析构函数的作用2.析构函数的语法~类名(){}三.构造函数的分类及调用1.两种分类方式:2.三种调用方式:四.拷贝构造函数调用时机五.构造函数调用规则六.深拷贝与浅拷贝总结: 前言 今天和大家分享一下C++中在...[2023/3/31]

通过示例详解C++智能指针

目录引言基本概念智能指针类型使用技巧注意事项示例总结术语 引言 C++是一种广泛使用的编程语言,它允许程序员使用动态分配的内存。然而,手动管理内存可能会导致一些严重的问题,如内存泄漏和悬空指针。为了解决这些问题,C++引入了智能指针的概念。智能指针是一种特殊的指针类型,它可以自动管理内存并确...[2023/3/27]

本地推理,单机运行,MacM1芯片系统基于大语言模型C++版本LLaMA部署“本地版”的ChatGPT

OpenAI公司基于GPT模型的ChatGPT风光无两,眼看它起朱楼,眼看它宴宾客,FaceBook终于坐不住了,发布了同样基于LLM的人工智能大语言模型LLaMA,号称包含70亿、130亿、330亿和650亿这4种参数规模的模型,参数是指神经网络中的权重和偏置等可调整的变量,用于训练和优化神经...[2023/3/24]

c++ 内存顺序

搞懂无锁编程的重要一步是完全理解内存顺序! 本教程由作者和ChatGPT通力合作完成。 都有哪几种? c++的内存模型共有6种 memory_order_relaxed memory_order_consume memory_order_acquire memory_order_relea...[2023/3/14]

c/c++指针从浅入深介绍——基于数据内存分配的理解(上)

c/c++指针从浅入深介绍——基于数据内存分配的理解(上)   本文是对自我学习的一个总结以及回顾,文章内容主要是针对代码中的数据在内存中的存储情况以及存储中数值的变化来对指针进行介绍,是对指针以及数据在内存中数值是如何变化的,为什么需要使用到指针,为什么有时候使用指针很容易会报错,怎么去使用...[2023/3/14]

C++11 thread_local关键字

这是一篇科普文--关于thread_local关键字 首先,C++11之前并没有对并发进行任何的支持,C++11首次提供了以下的支持: 语言核心定义了一个内存模型,保证当更改"被两个不同线程使用"的两个object时,他们彼此独立,而引用thread_local关键字 标准库支持启动多线程,...[2023/3/8]

C++20中的span容器及用法小结

目录一.span容器二.span的用法1.将数组转换为 span:2.使用 span 来遍历一个容器:3.使用 span 来获取子序列:4.将 span 转换为其他容器类型:三.span的底层原理四.span 与 array ,vector ,数组指针 的区别1. span 与 array ,vec...[2023/3/6]

C++20中的std::span详解

C++20中的std::span详解

span就是一个连续对象存储的观察者。类似std::string_view是string的观察者。连续的存储,不一定是数组。例如: zero(char (&arr) [10]); 10个元素的数组, sizeof(arr)==10*sizeof(char)==10 zero(ch...[2023/3/6]

C++学习之函数模板的使用详解

目录C++函数模板重载的模板模板局限性显示具体化实例化和具体化模板函数类型的确定 C++函数模板 template<typename T> void Swap(T &a ,T &b) { T temp; temp = a; a = b...[2023/3/3]

vs2022?x64?C/C++和汇编混编(案例代码)

目录vs2022环境x64 C/C++和汇编混编1、新建空的win32项目,新建main.cpp,示例代码如下2、新建asm64.asm汇编源文件,示例代码如下3、编译器配置,选择x64,debug或者release都可以,4、直接生成即可 vs2022环境x64 C/C++和汇编混编 vs64...[2023/2/27]

OpenCV使用GrabCut实现抠图功能

目录1、概述2、代码示例3、示例图片 1、概述 案例:使用OpenCV的GrapCut实现有用户交互的抠图 grabCut( InputArray img, InputOutputArray mask, Rect rect, Input...[2023/2/20]

OpenCV实现视频绿幕背景替换功能的示例代码

OpenCV实现视频绿幕背景替换功能的示例代码

目录1、概述2、代码示例 1、概述 案例:使用OpenCV实现视频绿幕背景替换 算法步骤: 1.初始化VideoCapture并使用其open方法加载视频 2.while循环加读取frame capture.read(frame) 3.将frame转hsv色彩空间 4.使用i...[2023/2/20]

OpenCV通过透视变换实现矫正图像详解

目录1、概述2、代码演示3、示例图片 1、概述 案例:使用OpenCV将一张折射的图片给矫正过来 实现步骤: 1.载入图像 2.图像灰度化 3.二值分割 4.形态学操作去除噪点 5.轮廓发现 6.使用霍夫直线检测,检测上下左右四条直线(有可能是多条,但是无所谓) ...[2023/2/20]

336
4
记录数:3001 页数:3/61首页上一页12345678910下一页尾页
 友情链接:直通硅谷  直通硅谷 怎么样 mac软件下载
加载更多