C\C++
文章平均质量分 78
hiOoo.
野鹤纷飞,日暮不思归
展开
-
C++中的静态成员变量和静态成员函数
注意下面几点:调用一个对象的非静态成员函数时,系统会把当前对象的起始地址赋给 this 指针。而静态成员函数并不属于某一对象,它与任何对象都无关,因此。原创 2024-05-12 15:13:30 · 374 阅读 · 0 评论 -
C++ 中的多态实现原理与静态动态绑定
必须通过虚函数被调用的函数是,且必须完成对基类虚函数的在C++中,多态性是指对象在不同情况下表现出不同的行为的能力。这意味着通过相同的接口可以调用不同类型的对象,并且会根据对象的实际类型来执行相应的操作。C++中的多态性通过虚函数来实现,分为编译时多态性(静态多态性)和运行时多态性(动态多态性)两种。原创 2024-05-12 14:40:09 · 695 阅读 · 0 评论 -
C++11新特性-右值引用及其拓展应用
在掌握右值引用前,必须先知道什么是右值,既然有右值,那么肯定有左值。顾名思义,当我们在赋值的时候a=b,能够被放到等号左边的值即为左值,反则为右值。 可见立即数,函数返回的值等都是右值;而非匿名对象(包括变量),函数返回的引用,const对象等都是左值。 显然作为左值的都是可以长期保存起来的,对应是保存在内存中;但常数、表达式、函数返回值等都是临时值,这些值都保存在寄存器中。可以总结:二、左值引用和右值引用1、左值引用先看一下传统的左值引用:左值引用在汇编层面原创 2024-05-05 11:50:11 · 799 阅读 · 0 评论 -
const char*, char const*, char* const的区别
但是ptr的声明并不意味着它指向的值实际上就是一个常量,而只是意味着对ptr而言,这个值是常量。假设ptr指向str,而str不是const,可以直接通过str变量来修改str的值,但是确不能通过ptr指针来修改。,这里,ptr是一个指向 char* 类型的常量,所以不能用ptr来修改所指向的内容,换句话说,它是一个常量,即指针的指向不可以改变但指针指向的内容可以改变。它是一个指针,定义一个指向字符常量的。原创 2024-04-24 12:21:35 · 165 阅读 · 0 评论 -
【QT】QGraphics体系及刷新机制介绍
Qt的三大体系:QWidget、QGraphics、Quick,其中QGraphics图形框架算是这三个中比较高级的一种用法了,并且使用起来相比另外两个体系会更加的复杂一些,不过它能实现的功能却非常强大,主要体现在对图元的管理,它独特的刷新机制可以在众多的图元中都能够很好的管理,保证整个交互的流畅度。而这里要描述的就是QGraphics体系的刷新机制以及该体系中相关元素的使用方式及特点。原创 2024-04-24 12:06:02 · 764 阅读 · 0 评论 -
【QT】QT的事件机制及其与信号机制的区别
一般有下列5种方式可以用来处理和过滤事件,每种方式都有其使用条件和使用范围。原创 2024-03-27 23:31:02 · 1141 阅读 · 1 评论 -
深度优先算法DFS(Depth First Search)
不撞南墙不回头。原创 2024-03-07 22:31:41 · 1160 阅读 · 1 评论 -
C++中的find函数
C++中的find()函数有多种用法。它可以用于string类,用于查找字符或字符串。。此外,find()也可以用于vector容器,用于查询指定元素是否存在。还有一个STL函数find(),它位于<algorithm>头文件下,返回一个迭代器,指向范围内搜索元素的第一次出现。原创 2024-03-02 14:42:58 · 3117 阅读 · 0 评论 -
C++,C#,Java中的Lambda
1)捕获列表使用 Lambda 表达式来创建匿名函数。使用 lambda声明运算符=> 从其主体中分离 lambda 参数列表。若要创建 Lambda 表达式,需要在 Lambda 运算符左侧指定输入参数(如果有),然后在另一侧输入表达式或语句块。任何 Lambda 表达式都可以转换为委托类型。Lambda 表达式可以转换的委托类型由其参数和返回值的类型定义。如果 lambda 表达式不返回值,则可以将其转换为Action委托类型之一;否则,可将其转换为Func委托类型之一。原创 2024-02-04 17:50:33 · 969 阅读 · 0 评论 -
位运算与组合技
我们知道,计算机中的数在内存中都是以二进制形式进行存储的 ,而位运算就是直接对整数在内存中的二进制位进行操作,因此其执行效率非常高,在程序中尽量使用位运算进行操作,这会大大提高程序的性能。原创 2024-02-03 20:48:26 · 714 阅读 · 0 评论 -
C++中的sort()函数
STL中的sort()并非只是普通的快速排序,除了对普通的快速排序进行优化,它还结合了插入排序和堆排序。根据不同的数量级别以及不同情况,能自动选用合适的排序方法。并且可以自行决定排序方法与准则。原创 2024-01-17 11:12:22 · 378 阅读 · 0 评论 -
莫队算法求解区间重复数
【代码】莫队算法求解区间重复数。原创 2024-01-14 09:34:40 · 341 阅读 · 0 评论 -
C++中的 sqrt、sqrtl 和 sqrtf
此功能用于长双精度型数据。因此,这将返回long double类型的平方根。这是精度更高的两倍。当我们使用长整数时,此函数很有用。此功能用于双精度数据。因此,这将返回double类型的平方根。该功能用于浮点型数据。因此,这将返回float类型的平方根。原创 2023-12-31 13:02:21 · 2533 阅读 · 0 评论 -
C/C++输出格式与输出控制符
C语言输出格式控制符大全C++输出保留指定位小数(输出精度控制)C++输出格式控制符原创 2023-11-16 20:32:19 · 2943 阅读 · 0 评论 -
C++ 中的运算符重载与例题
举个例子:我们要设计一个名为“person”的类,现在要判断person类的两个对象p1和p2是否一样大,我们设计的比较规则是按照其年龄来比较,那么,在设计person类的时候,就可以通过对操作符“==”进行重载,来使用操作符“==”对对象p1和p2进行比较了(就是把“==”重载成“>”或“<”),结果返回bool类型值用于判断。这个例子就是重载比较符,返回结果是布尔类型,即在出现次数相同的情况下,如果当前对象的动态数组内的数比做对比的数组要小,那么就返回ture,否则就直接对比出现次数。原创 2023-11-13 13:06:47 · 87 阅读 · 0 评论 -
C与C++的字符串和字符数组的输入方式以及匹配
cin.get(字符数组名,接收字符个数),用来接收一行字符串(可以接收空格),这个最大的用途是可以定量的接收字符的个数(但是要注意,如果定义的数组的个数是20,则实际上只能接收19个字符,还要加上'\0')getchar()、getche() 和 getch() 是专用的字符输入函数,它们在缓冲区和回显方面与 scanf() 有着不同的特性,是 scanf() 不能替代的。C++中的输入大致有6种方法:cin,cin.get(),cin,getline(),gets(),getchar()原创 2023-11-10 11:50:07 · 2849 阅读 · 3 评论