C++学习日志
文章平均质量分 51
路痴楷
这个作者很懒,什么都没留下…
展开
-
QT-TCP通信
/让服务器端的tcpsocket与客户端的链接(或者说接受链接请求)网上的资料太过于书面化,所以看起来有的让人云里雾里,看不懂C-tcpsockt和S-tcpsocket的关系。//当有客服端链接的地址跟接口与listen的一致时,m_server会发出信号。//在头文件创建了qtcpserver,在这里将他设定为listen状态。//需要先接收到读取信号后,server才能正常读取数据。//寻找输入到ip、port文本编辑框对应的server。//若客户端收到数据。//接收客户端的数据。原创 2024-05-07 19:53:24 · 462 阅读 · 0 评论 -
除留余数哈希表
void creat_data(vector<int>&v)//将生成的20个随机数存入vector。实验要求:随机生成20个两位整数,使用除留玉树法的哈下函数以及链表法解决哈希冲突,生成哈希表。//将v容器的数据全部储存到hash中,并按余数插入链表。int creat_num()//创造两位数的整数。//创建10个链表,用于储存取余后的整数。原创 2023-12-23 17:16:56 · 457 阅读 · 0 评论 -
STL容器
vector有“未雨绸缪机制”,即capacity容量要比size要大,每次当size要大于capacity时,它会另外开辟一块空间,并将原有的数据全部移植到新的空间去,这也会造成原来的迭代器失效。有双向访问迭代器,不能像随机访问迭代器一样,通过+n和-n的写法来访问前后元素,但可以通过it++/--的方式来访问相邻元素。用insert(迭代器,位置,数据)会将数据插入到”位置“中去 ,原先“位置”及"位置“之后的元素会向后移。没有迭代器,只能用top()来访问末尾元素,插入也只能从尾插入。原创 2023-12-05 19:53:10 · 404 阅读 · 0 评论 -
c++四种类型转换
2.保证安全性,只能经行上行转换,且不能对基本类型(int char)和非继承类进行转换的dymatic_cast<转换类型>(转换变量)1.相当于C语言种对变量进行强制类型转换(转换类型),但不能进行无关类转换的static_cast<转换类型>(转换变量)4.不能对基本类型进行转换,但可以对无关类型及上下行转换的reinterpret_cast<转换类型>(转换变量)相反,由于父类对象转换成子类对象给子类指针赋值时,无法让子类指针读到所有的子类数据,所以下行转换是不安全的。原创 2023-11-13 21:51:33 · 148 阅读 · 0 评论 -
operator函数使用
operator的实际运用——重载原创 2023-10-17 21:18:43 · 110 阅读 · 0 评论 -
PTA-是否同一棵二叉搜索树
写了一个多小时的shi山代码,暂时没精力总结和修改了,等以后再优化一下吧、结合了树的构建,遍历输出,指针的传递等知识点。原创 2023-10-11 22:26:23 · 70 阅读 · 0 评论 -
洛谷-P1014 [NOIP1999 普及组] Cantor 表
一开始看跟之前一道没做出来的蓝桥杯的题很像,想着怎么普及-就这么难了。后来才发现这题没那么麻烦,只需要找到规律就好了。分母就用行数+1减去分子数就行了。规律是:分子分母和=行数+1。偶数行是分子是n减去前面总数。奇数行是下一行的总数-n+1。原创 2023-07-08 12:01:21 · 100 阅读 · 1 评论 -
洛谷-P5728 【深基5.例5】旗鼓相当的对手
运用到结构体数组的一道场景模拟题。没啥特别的,直接上代码。原创 2023-06-30 01:56:47 · 476 阅读 · 0 评论 -
C++ 引用
引用的最终目的:在调用函数(方法)时,可以通过(int &a,int &b)的方式达到传地址的效果,函数内部对a,b修改后可以直接改变主函数的值,而不需要使用指针来实现。其中传参类型是char*的地址,所以类型是char**,通过指针的形式对原函数的参数进行修改。注意,引用必须在初始化的时候就被定义,且已经初始化后不能再进行修改。后续中&a则等价于&data,即对data取地址。2是C++的写法,利用了引用区别名,将主函数的str直接取别名为my_str,使其在函数中可以直接对原变量进行修改。原创 2023-06-30 01:36:26 · 37 阅读 · 0 评论 -
洛谷-P1047 [NOIP2005 普及组] 校门外的树
P5729的简化版,标准的数组运用基础题。原创 2023-06-30 01:32:10 · 175 阅读 · 0 评论 -
洛谷-P5729 【深基5.例7】工艺品制作
一开始下意识的当成学校的基础题,想着单纯的模拟计算。WA了一遍之后才意识到这个切割的参数可能是包含已经切割过的,洛谷的老套路了。最近在学C++,写的都是学校很基础的题目,好久没写洛谷了。记得把数组开大点,一开始开20会出现数组越界的情况。原创 2023-06-29 17:09:20 · 244 阅读 · 1 评论 -
namespace & 全局变量&局部变量
(如上面的例子,当出现局部变量与命名空间的变量重名时,优先使用局部变量,调用函数也同理)【tip:静态变量与全局变量的区别——当多个程序源文件在同一个项目中时,静态变量只能被该源文件访问,而全局变量可以被任意文件访问。//若写using Longname::a;当出现全局变量,局部变量,静态变量(namespace中的变量)时,优先级:局部>静态=全局。void A::func()//记得标注A::表示所写的函数是A中的函数。//main中的局部变量。//引用时,可以用A::a和B::a的方式进行调用。原创 2023-06-10 14:36:31 · 320 阅读 · 0 评论