后端开发
C++ 标签描述

1.VS上安装Qt扩展 点击菜单栏【扩展】->【管理扩展】,在搜索框搜索“Qt”,点击下载QtVisualStudioTools,以2022版为例,需要关闭所有窗口才能执行安装 关闭VS后,弹出安装窗口,等待其安装完成 2.新建QT工程测试 等待安装完成后,添加一个QtVertion后(前提已经安装了Qt开发环境)即可使用VS新建或者编译QT项目了 以QtWidgetsApplication为例,【文件】->【新建】->【项目】,选择“QtWidgetsApplication”,填入项目名等常规信息后,点击创建,并选择一个QtVersion,一直下一步点击finish创建...

  f7ob2WOL3pZP   13小时前   4   0   0 C++

decltype关键字是C11新标准引入的关键字,它和关键字auto的功能类似,也可以自动推导出给定表达式的类型,但它和auto的语法有些不同,auto推导的表达式放在“=”的右边,并作为auto所定义的变量的初始值,而decltype是和表达式结合在一起,语法如下: decltype(expr)var; 它的语法像是函数调用,但它不是函数调用而是运算符,和sizeof运算符类似,在编译期间计算好,表达式expr不会被真正执行,因此不会产生汇编代码,如下的代码: intfunc(int); decltype(func()); func函数不会真正被调用,只会在编译期间获取他的类型。decl...

  9c2DmW5eOllx   13小时前   5   0   0 C++

问题描述 问题和unordered_set有关,相关代码如下: //打印unordered_set的所有值 voidprintSet(conststd::unordered_set<std::string>&data) { intindex=0; autoit=data.begin(); for(;it!=data.end();it) { conststd::string&key=it; EASE_ERROR("%d:%s",index,key.c_str()); } } ...//其他业务代码 std::unordered_set<std::string...

  boyxdPuSbXft   12天前   15   0   0 C++

C引用和指针 创建引用 引用变量是对现有变量的“别名”,它是使用&运算符创建的: stringfood="Pizza";//食物变量 string&meal=food;//对food的引用 现在,我们可以使用变量名food或引用名meal来引用食物变量: cout<<food<<"\n";//输出Pizza cout<<meal<<"\n";//输出Pizza C内存地址 内存地址 在前一页的示例中,使用&运算符创建了一个引用变量。但它也可以用于获取变量的内存地址;即变量在计算机上存储的位置。 当在C中创建一个变量时,...

  YHTQQsaAg9bB   13小时前   4   0   0 C++

CSwitch语句 使用switch语句选择要执行的多个代码块之一。 语法 switch(expression){ casex: //代码块 break; casey: //代码块 break; default: //代码块 } 它的工作原理如下: switch表达式被评估一次 表达式的值与每个case的值进行比较 如果找到匹配项,则执行关联的代码块 break和default关键字是可选的 下面的示例使用星期几的数字来计算星期几的名称: 示例 intday=4; switch(day){ case1: cout<<"Monday"; break; case2: cout&l...

  YHTQQsaAg9bB   9天前   12   0   0 C++

泛形variant+visit 1.引言 在python里可以让一个变量变成不同的类型,拥有不同的值,且根据不同的类型执行不同的操作,当不同的类型拥有同样的函数时,这样我们就不用再重复写一堆代码了 但如果在c中实现类似的功能,比较经典的处理方式是用虚函数+子类重写的方式, classBase{ virtualvoidaccept(visitor)=0; } classsub1:Base{ voidaccept(visitor){ visitor->visit(this) } } classsub2:Base{ voidaccept(visitor){ visitor->visit(...

  8ZfKOql7qM9w   15天前   9   0   0 C++

需要开发一个https的服务,使用libhv来做,需要重新编译libhv,需要开启WITH_OPENSSL,前面编译一直很顺利,但是打开VS生成动态库的时候,报错,找不到ssl相关的文件,看了官方的文档,说需要自己配置ssl。然后研究怎么编译OPENSSL,和编译支持HTTPS的libhv花了一点时间,所以想着把这个问题记录下来。     相关链接: 网络库libhv,gitee:https://gitee.com/libhv/libhv openssl官网:https://www.openssl.org/ openssl下载地址(别人编译好的):https://slpro...

  OPDI55y16rFb   3天前   6   0   0 C++

目录 简介 源码 函数说明 arv_camera_new arv_camera_acquisition arv_camera_get_model_name arv_buffer_get_image_width arv_buffer_get_image_height 简介 本文针对官方例程中的第一个例程:single-acquisition做简单的讲解,并简单分析其中调用的arv_camera_new,arv_camera_acquisition,arv_camera_get_model_name,arv_buffer_get_image_width,arv_buffer_g...

  yUYubVeRMAN3   3天前   9   0   0 C++

C条件和If语句 您已经知道C支持数学中的常见逻辑条件: 小于:a<b 小于或等于:a<=b 大于:a>b 大于或等于:a>=b 等于:ab 不等于:a!=b 您可以使用这些条件来针对不同的决定执行不同的操作。 C具有以下条件语句: 使用if来指定一个代码块,如果指定的条件为true,则执行该代码块 使用else来指定一个代码块,如果相同的条件为false,则执行该代码块 使用elseif来指定一个新的条件进行测试,如果第一个条件为false,则执行该条件 使用switch来指定许多替代代码块来执行 if语句 使用if语句来指定一个代码块,如果条件为true,则...

  YHTQQsaAg9bB   10天前   15   0   0 C++

目录 前言 Aravis简介 依赖关系说明 安装过程 meson安装 aravis源文件下载 构建和安装aravis 视频查看器 安装过程中遇到的问题 meson版本过低 CMake版本过低 缺少GStreamer组件 参考文章 前言 最近在做采集软件的开发,由于我自己使用过Huaray和Basler两个品牌的相机,所以在设计软件时尝试设计统一的接口去控制不同品牌和型号相机的相同或类似的行为。当然,我的设计思路都是建立在调用各品牌SDK的基础上。后来我去外网搜索,发现了一个开源项目Aravis,它通过提供一个通用的API,让我们能够不受相机的品牌或型号限制,自由地进行图...

  yUYubVeRMAN3   14天前   22   0   0 C++

前言 想必,凡是参与过NOI系列赛事的,都对下面的图很熟悉:没错,它就是Dev-C,NOI系列比赛Windows环境制定软件,但它在日常刷题过程中体验相当不好,几乎没有的高亮显示,陈旧的编译器……因此,我们是时候配置一个更好的代码编辑平台了! 要求 一方面,你应该确保你自身有能力在不借助高亮显示的情况下使用主要语法;另一方面,你应当确保你的计算机有足够性能(如果是学校的32位win7基本可以退出了) 安装MSYS2与Clang 打开MSYS2的国内镜像:https://mirrors.tuna.tsinghua.edu.cn/msys2/distrib/x86_64/。下滑至最底处,点击“ms...

  uLm846HUjQiD   7天前   16   0   0 C++

C数学 C有许多函数可以让您在数字上执行数学任务。 最大值和最小值 max(x,y)函数可用于找到x和y的最大值: 示例 cout<<max(5,10); 而min(x,y)函数可用于找到x和y的最小值: 示例 cout<<min(5,10); C<cmath>头文件 其他函数,例如sqrt(平方根)、round(四舍五入)和log(自然对数),可以在<cmath>头文件中找到: 示例 //包含cmath库 include<cmath> cout<<sqrt(64); cout<<round(2.6); ...

  YHTQQsaAg9bB   11天前   10   0   0 C++

问题 include<iostream> include<thread> intmain() { intsum=0; autof=[&sum](){ for(inti=0;i<10000;i) sum+=1; }; std::threadt1(f); std::threadt2(f); t1.join(); t2.join(); std::cout<<"thesumof2threadsis:"<<sum<<std::endl; std::cin.get(); return0; } 这个...

  pbKoSFJmgwHF   13天前   17   0   0 C++

[ABC347C]IdealHolidays题解 原题传送门 原题传送门(洛谷) ​题意翻译: ​在\(AtCoder\)王国中,一个周有\(A+B\)天。其中在一周中,\([1,A]\)天是假日,\([A+1,B]\)天是工作日。 ​高桥有\(N\)个计划,第\(i\)个计划安排在\(i\)天后。他不知道今天是周几,但他想知道是否能将计划都安排在假期中; ​若可以则打印Yes,否则打印No。 ​题意解释: 如下图,黄绿色的是假期,红色的是假期。 高桥的安排在这个区间中,对此我们可以进行一个状态压缩,也就是把所有的天数对\(A+B\)取模,压缩到一个周内; 即: intsum=a+b;//存...

  mCuLBwVLn3Lu   13天前   13   0   0 C++

堆 堆是一种树形结构,树的根是堆顶,堆顶始终保持为所有元素中优先级最高的元素,如小根堆与大根堆,小根堆的堆顶始终为最小的元素,大根堆的堆顶始终保持为最大的元素。堆一般用二叉树实现,称为二叉堆。二叉堆的典型应用有堆排序和优先队列。 本片将包括: 目录 堆 (1.二叉堆的概念 (2.二叉堆的操作 1.上浮 2.下沉 3.查询堆顶 4.查询大小 5.判断是否为空 (3.堆与priority_queue 1.初始化 2.操作 (3.例题 (1.二叉堆的概念 二叉堆是一棵完全二叉树。用数组实现的二叉树堆,树中每个节点与数组存放的元素对应。如图所示,用数组实现一棵二叉堆。 二...

  mCuLBwVLn3Lu   13天前   16   0   0 C++

CBreak和Continue break语句还可以用来跳出循环。 在以下示例中,当i等于4时跳出循环: for(inti=0;i<10;i){ if(i4){ break; } cout<<i<<"\n"; } CContinue 以下示例跳过了值为4的情况: for(inti=0;i<10;i){ if(i4){ continue; } cout<<i<<"\n"; } 在While循环中使用Break和Continue 你也可以在while循环中使用break和continue: Break示例 inti=0; while(...

  YHTQQsaAg9bB   5天前   14   0   0 C++

获取数组的大小 要获取数组的大小,可以使用sizeof()运算符: 示例 intmyNumbers[5]={10,20,30,40,50}; cout<<sizeof(myNumbers); 结果: 20 为什么结果显示为20而不是5,当数组包含5个元素时? 这是因为sizeof()运算符返回类型的大小(以字节为单位)。 要找出数组有多少个元素,必须将数组的大小除以它包含的数据类型的大小: 示例 intmyNumbers[5]={10,20,30,40,50}; intgetArrayLength=sizeof(myNumbers)/sizeof(int); cout<&...

  YHTQQsaAg9bB   2天前   8   0   0 C++

C20的std::format是一个很神奇、很实用的工具,最神奇的地方在于它能在编译期检查字符串的格式是否正确,而且不需要什么特殊的使用方法,只需要像使用普通函数那样传参即可。 include<format> inta=1; std::strings1=std::format("a:{}",a);//OK std::strings2=std::format("a:{},b:{}",a);//编译错误 C20的std::format来自一个著名的开源库{fmt}。在C20之前,fmt需要为每个字符串字面量创建不同的类型才能实现编译期格式检查。fmt提供了一个FMT_STRING宏...

  582TtX3TNojB   5天前   12   0   0 C++

用C语言并利用递归思想实现设计一个程序,完成斐波那契数列的函数设计,利用递归实现! / filename: author :RISE_AND_GRIND@163.com date :2024/04/07 function:利用递归思想实现设计一个程序,完成斐波那契数列的函数设计,利用递归实现! note :None CopyRight(c)2023-2024RISE_AND_GRIND@163.comAllRightReseverd / include<stdio.h> include<stdlib.h> intFibon(intn); intm...

  T96KQOPbtA1z   5天前   13   0   0 C++

目录 前言 控制块简介 共享控制块 引用计数与弱引用计数创建过程 __shared_ptr __shared_count _Sp_counted_base 弱引用计数增加过程 再谈共享控制块 __weak_count 引用计数增加过程 弱引用计数的减少过程 弱引用计数减为0 引用计数的减少过程 引用计数减为0 参考文章 前言 本文结合源码讨论std::shared_ptr和std::weak_ptr的部分底层实现,然后讨论引用计数,弱引用计数的创建和增减。文章中尽可能的先阐述原理,然后再贴上代码。如果有不想看代码的,直接略过代码即可。本文涉及的源码均出自gcc9...

  yUYubVeRMAN3   5天前   19   0   0 C++