C++
文章平均质量分 66
乒乒乓乓丫
转行咯
展开
-
c++ 常用总结(一)
GitHub - Light-City/CPlusPlusThings: C++那些事原创 2023-02-20 22:22:55 · 885 阅读 · 0 评论 -
c++ 单例模式
【代码】c++ 单例模式。转载 2023-02-17 17:38:52 · 242 阅读 · 0 评论 -
C++ 转换构造函数、类型转换函数
2、书写格式:operator double() { return real;} //要求函数名称为要转换的类型且函数无形参。2、书写格式:Complex (double r) { } //要求形参只能有一个参数。3、注意点:转换构造函数配合使用运算符重载函数实现操作数交换律,要求是运算符重载函。1、作用:用于把其他类型转换(普通数据类型或者其他)为自定义对象。3、注意点:与类型转换函数具有二义性,使用过程中需要注意。1、作用:把自定义对象转换为普通类型。原创 2023-02-16 17:33:09 · 586 阅读 · 0 评论 -
c++ 函数指针、指针函数
函数指针本质是一个指针,是指向函数的指针。如 int (*f)(int x, int y);指针函数本质是一个函数,是返回值为指针的函数。如 int* f(int x, int y);原创 2023-02-15 17:52:56 · 125 阅读 · 0 评论 -
c++ 指针、引用和常量
1.指针是对象,引用不是对象(在此可以理解为变量,一个变量是一个对象)原创 2023-02-15 10:27:08 · 367 阅读 · 0 评论 -
c++ 直接初始化、拷贝初始化、赋值
赋值:把对象当前值擦除,以一个新值代替。初始化:创建变量时,赋予其一个初始值。原创 2023-02-14 16:43:47 · 388 阅读 · 0 评论 -
c++ 多线程并发
1。原创 2023-02-08 10:34:10 · 3522 阅读 · 1 评论 -
性能测试监控TP50、TP99、TP999
tp99即99线。转载 2023-01-28 17:00:45 · 821 阅读 · 0 评论 -
UBUNTU bazel编译C++文件
其中//表示WORKSPACE所在的工作目录,main为工作目录下的main文件夹,print为main文件夹中被编译的对象文件(即cc_binary下面的name)。例如只有一个print.cpp文件,正常情况下我们使用g++ print.cpp -o print.o来编译代码。WORKSPACE用不上的话,内容可以为空,只象征着工作空间的主目录所在。编译命令: bazel build //main:print。① 情况一,只有一个.cpp文件。2. BUILD文件的编写。1.bazel工作目录。原创 2023-01-18 08:52:46 · 1252 阅读 · 0 评论 -
cmake教程
超详细的cmake入门教程_C 语言_脚本之家cmake使用教程-菜鸟笔记原创 2023-01-13 08:39:16 · 842 阅读 · 0 评论 -
openvino cpp使用
英特尔OpenVINO使用入门(C++集成方式)_阿飞__的博客-CSDN博客_intel openvinoOpenVino学习2 --- Demo篇_P_B_Y的博客-CSDN博客 例1 /opt/intel/openvino_2021.4.689/inference_engine/samples/cpp/hello_classification原创 2022-06-27 16:42:56 · 1392 阅读 · 0 评论 -
Clipper库
Clipper库中文文档详解 - 走看看转载 2022-06-12 21:59:26 · 720 阅读 · 0 评论 -
谷歌c++代码风格指南
https://google-styleguide.readthedocs.io/zh_CN/latest/google-cpp-styleguide/scoping.htmlstatic的作用:原创 2021-09-12 14:10:31 · 524 阅读 · 0 评论 -
有const却还要加&引用的原因
如原因:传引用效率高引用,一是避免数据复制,以节省资源开销;二是有些情况不能复制。比如你拷贝一个string,有1GB。如果你传值的话,它就会复制一个新的string,花个0.0x秒,占据很多内存空间。如果你传引用的话,就相当于复制一个指针,8字节罢了。(32位是4个字节)https://tieba.baidu.com/p/2725612520?red_tag=1669503443...原创 2021-09-08 11:34:26 · 297 阅读 · 0 评论 -
设计模式举例
1.简单工厂模式工厂(Factory):根据客户提供的具体产品类的参数,创建具体产品实例;抽象产品(AbstractProduct):具体产品类的基类,包含创建产品的公共方法;具体产品(ConcreteProduct):抽象产品的派生类,包含具体产品特有的实现方法,是简单工厂模式的创建目标。简单工厂模式UML类图如下:...原创 2021-07-09 14:36:48 · 427 阅读 · 0 评论 -
char数组与STL string 相互转换
1.char数组转string直接赋值即可。错例如下:string不能直接用cout输出,但是加了头文件<string>后可以。正解如下原创 2021-07-08 14:18:19 · 526 阅读 · 0 评论 -
opencv 基础操作 c++
1.2.访问图像中像素的3种方法①指针(高效)返回图像任一行的首地址,ptr类(模板类),如Image.ptr<uchar>(i),读取第i行首地址uchar* data=Image.ptr<uchar>(i)data[j] 则为第i行第j列的元素②迭代器(interator)(不会出现越界)③动态地址计算(耗时,直观简单):atM.at<uchar>(i,j)=val,表示单通道,第i行第j列元素;M.at...原创 2021-07-07 14:29:27 · 954 阅读 · 0 评论 -
力扣刷题记录 (一)数组
解题思路来自https://github.com/youngyangyang04/leetcode-master1. 二分查找①给定一个n个元素有序的(升序)整型数组nums 和一个目标值target ,写一个函数搜索nums中的 target,如果目标值存在返回下标,否则返回 -1。示例 1: 输入: nums = [-1,0,3,5,9,12], target = 9 输出: 4 解释: 9 出现在 nums 中并且下标为 4示例2: 输入: nums = [-1,0...原创 2021-05-15 23:29:48 · 472 阅读 · 0 评论 -
常用算法模板汇总
1.排序① 冒泡每次排序从首元素(图里为左)开始,相邻元素比较,较大者排后,直至最大数排到队尾。然后对未排序部分重复操作。② 快排原创 2021-06-16 10:51:31 · 581 阅读 · 0 评论 -
力扣刷题记录 (七)动态规划(五)子序列系列
① 题号300.最长递增子序列给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。示例 1: 输入:nums = [10,9,2,5,3,7,101,18] 输出:4 解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。示例 2: 输入:nums = [0,1,0,3,2,3] 输出:4示例 3: 输入:num...原创 2021-06-15 14:49:15 · 693 阅读 · 0 评论 -
力扣刷题记录 (七)动态规划(四)股票系列
① 题号121. 买卖股票的最佳时机给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。示例 1:输入:[7,1,5,3,6,4]输出:5解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6...原创 2021-06-14 23:04:21 · 538 阅读 · 1 评论 -
力扣刷题记录 (七)动态规划(三)打家劫舍
① 题号198.打家劫舍你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1: 输入:[1,2,3,1] 输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。 偷窃到的最高金额 = 1 + 3 = 4 。示...原创 2021-06-14 23:02:33 · 255 阅读 · 0 评论 -
力扣刷题记录 (七)动态规划(二)背包问题
1.背包基础01 背包有N件物品和一个最多能被重量为W 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。举例1背包最大重量为4。物品为:问背包能背的物品最大价值是多少?答:...原创 2021-06-13 23:07:28 · 1540 阅读 · 0 评论 -
力扣刷题记录 (七)动态规划(一)基础题目
1.基础知识① dp定义动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的。例如:有N件物品和一个最多能背重量为W 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。动态规划中dp[j]是由dp[j-weight[i]]推导出来原创 2021-06-13 07:12:36 · 635 阅读 · 0 评论 -
力扣刷题记录 (六)二叉树
1.原创 2021-06-09 23:30:28 · 352 阅读 · 0 评论 -
力扣刷题记录 (五)栈与队列
1.工作上一定没人这么搞,但是考察对栈、队列理解程度的好题① 题号232.用栈实现队列使用栈实现队列的下列操作:push(x) – 将一个元素放入队列的尾部。 pop() – 从队列首部移除元素。 peek() – 返回队列首部的元素。 empty() – 返回队列是否为空。解析:这是一道模拟题,不涉及到具体算法,考察的就是对栈和队列的掌握程度。使用栈来模式队列的行为,如果仅仅用一个栈,是一定不行的,所以需要两个栈一个输入栈,一个输出栈,这里要注意输入栈和输出栈的关系。在push数据的时候,原创 2021-06-09 14:20:08 · 213 阅读 · 1 评论 -
力扣刷题记录 (四)字符串
打基础的时候,不要太迷恋于库函数。① 题号344.反转字符串编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。示例 1:输入:[“h”,“e”,“l”,“l”,“o”] 输出:[“o”,“l”,“l”,“e”,“h”] 示例 2:输入:[“H”,“a”,“n”,“n”,“a”,“h”] 输.原创 2021-06-08 19:04:59 · 217 阅读 · 0 评论 -
力扣刷题记录 (三)哈希表
1原创 2021-06-07 16:48:11 · 199 阅读 · 0 评论 -
力扣刷题记录 (二)链表
1.原创 2021-05-31 14:10:29 · 209 阅读 · 0 评论 -
不存在从string到const char*的转换函数的解决方法
使用c_str()函数, c_str函数的返回值是const char*。c_str()函数返回一个指向正规C字符串的指针, 内容与本string串相同。例如原创 2021-04-15 19:22:53 · 5851 阅读 · 0 评论 -
C++Primer(第五版 )第十九章 特殊工具与技术 章节编程练习答案
19.1原创 2021-03-11 23:24:27 · 470 阅读 · 0 评论 -
C++Primer(第五版 )第十八章 用于大型程序的工具 章节编程练习答案
18.1原创 2021-03-10 23:47:01 · 359 阅读 · 0 评论 -
使用do{ } while(0)的好处
相当于就是{}里面的代码执行且只执行一次,可以在其中任何地方添加break随时退出代码执行。好处:如果你有一个复杂的函数,变量很多,而且你不想要增加新的函数,可以使用do{...}while(0),将你的代码写在里面,里面可以定义变量而不用考虑变量名会同函数之前或者之后的重复(因为是局部变量或函数)。...原创 2021-03-09 10:17:52 · 181 阅读 · 0 评论 -
C++Primer(第五版 )第十七章 标准库与特殊设施 章节编程练习答案
17.1定义一个保存三个int值的tuple,并将其成员分别初始化为10、20和30。答:原创 2021-03-08 23:29:04 · 329 阅读 · 0 评论 -
for循环的局部作用域
原创 2021-03-08 16:36:48 · 308 阅读 · 0 评论 -
c++ new
当new一个类的指针时,有无括号的区别是什么呢?括号分为两种,中括号[]或小括号()。为方便说明,定义指针类型为class A, 指针为A* pA1. 中括号的情况: 中括号是用来标示申请的是一个对象,还是一组对象。①没有中括号时,即pA= new A; 这时pA得到的是一个对象*pA, 释放时使用delete pA②带有中括号时,在中括号中需要有一个正整数参数。pA= new A[N]; N可以是变量,也可以是常量。这时申请到的pA指向的空间是N个连续的对象pA[0...原创 2021-03-08 11:15:09 · 918 阅读 · 0 评论 -
C++Primer(第五版 )第十六章 模版与泛型编程 章节编程练习答案
16.1原创 2021-03-06 21:37:05 · 661 阅读 · 2 评论 -
C++Primer(第五版 )第十五章 面向对象程序设计 章节编程练习答案
15.1原创 2021-03-06 20:05:59 · 276 阅读 · 0 评论 -
c++ static理解
在头文件中,类外的函数都加static,类内的函数不必。类内函数加static的作用是防止该函数访问到类内的非静态成员变量(因为静态成员函数只能访问静态成员变量)。原创 2021-03-05 19:29:55 · 143 阅读 · 0 评论 -
c++ lambda表达式
1.定义lambda表达式 就是一个函数(匿名函数),也就是一个没有函数名的函数。为什么不需要函数名呢,因为我们直接(一次性的)用它,嵌入式用的它,不需要其他地方调用它。lambda表达式也叫闭包,闭就是封闭的意思,封闭就是其他地方都不调用它,包就是函数。lambda表达式 其实就是一个函数对象,他内部创建了一个重载()操作符的类。lambda 表达式的简单语法如下:[capture] (parameters) -> return value { body },只有 [capture] 捕获原创 2021-03-04 00:38:59 · 478 阅读 · 1 评论