c++
文章平均质量分 72
散风少年
这个作者很懒,什么都没留下…
展开
-
日志生成封装导出备份及存入数据库(xx面板厂监控项目)
开发环境工具:vs2022,HeidiSQL,mysql-8.0.31-winx64。开发环境工具:clion,HeidiSQL,mysql-8.0.31-winx64。原创 2023-11-09 16:08:01 · 785 阅读 · 0 评论 -
c++面试题2023版
c++最新2023版本面试题,吊打面试官.个人总结整理,适用于1.5w左右薪资以下的求职者原创 2023-10-28 11:38:58 · 180 阅读 · 0 评论 -
实现一个基于 Qt 的客户端程序和一个使用 WinSock2 进行通信的基于 C++ 的服务器程序
服务器接受客户端的连接,并为每个连接创建一个线程以处理收发包的操作。服务器程序负责监听客户端的连接请求,并创建新的线程来处理每个客户端的收发包操作。网络访问接口,实现的功能是:服务器一直监听一个端口,一旦有客户端连接请求,便建立连接,并向客户端发送一个字符串,然后客户端接收该字符串并显示出来。如果初始化和绑定成功,还会创建一个线程来处理接受新连接的请求(accept)。在一个循环中,接收客户端的数据,然后将接收到的数据发送回客户端。当有新的客户端连接时,会创建一个新的线程来处理该客户端的收发包操作。原创 2023-10-26 21:08:51 · 292 阅读 · 0 评论 -
unordered_map和map的区别,从算法,底层实现原理区别,效率,桶树等结构等等多个层面解析(c++角度)
--而unordered_map底层实现是哈希表,它使用哈希函数将元素映射到桶中,可以在常数时间内完成基本操作,但是在最坏情况下,哈希冲突可能导致时间复杂度退化到O(n)。---由于map是基于红黑树实现的,它的插入、查找和删除操作的时间复杂度都是O(log n),相对于unordered_map而言,它在处理小规模数据时,性能表现较好。---而unordered_map是基于哈希表实现的,它的查找、插入和删除操作的时间复杂度都是O(1),相对于map而言,在处理大规模数据时,性能表现更好。原创 2023-10-10 21:16:11 · 816 阅读 · 0 评论 -
C++标准库中的函数模板,STL组件中数据类型转换用法使用解读
5. **调试和性能分析**:通过自定义分配器,你可以在内存分配和释放的过程中添加调试信息或性能分析代码,以便更好地监控和调试应用程序。1. **自定义内存管理**:如果你希望自定义字符串的内存管理方式,例如使用特定的内存池或内存分配策略,可以通过自定义分配器来实现。- **嵌入式系统**:在资源有限的嵌入式系统中,内存管理可能需要特殊的优化,自定义分配器可以帮助减少内存碎片和提高性能。- **实时系统**:在实时系统中,内存分配和释放的性能和可预测性非常重要,因此可以使用自定义分配器来满足实时要求。原创 2023-09-27 12:54:44 · 34 阅读 · 0 评论 -
c++:定义一个Dog类,包含体重和年龄两个成员变量及相应的成员函数。声明一个实例dog1,体重为5,年龄为10,使用I/O流把dog1的状态写入磁盘文件。再声明另一个实例dog2,通过读文件把dog
在`readFromFileBinary`函数中,我们使用`std::ifstream`以二进制模式打开相同的文件,并从文件中读取二进制数据,并将其解释为`weight`和`age`的值。在`main`函数中,我们创建了一个名为`dog1`的`Dog`对象,并将其状态写入名为`dog1.txt`和`dog1.bin`的文本和二进制文件中。然后,我们创建了一个名为`dog2`的空`Dog`对象,并从文本文件和二进制文件中读取`dog1`的状态,并将其赋值给`dog2`。最后,我们输出了`dog2`的状态。原创 2023-09-21 16:41:10 · 544 阅读 · 0 评论 -
c++中面向对象里面多态中的--虚函数,纯虚函数和虚析构函数(详细)
通过基类或基类对象的引用访问派生类中的成员函数,可以实现一些多态的效果。当使用基类类型的引用或基类对象调用派生类中的成员函数时,会根据实际对象的类型来确定要调用的函数版本。在面向对象编程中,派生类继承了基类的成员(包括成员函数),因此可以通过派生类的对象直接访问这些成员函数。同时,由于派生类是基类的一种特殊类型,可以使用基类类型的引用或基类对象来引用派生类的对象。利用基类或基类对象的引用访问派生类中的成员函数是指通过基类类型的引用或基类对象来调用派生类中定义的成员函数。然后,通过这些基类引用或对象调用。原创 2023-09-21 10:24:51 · 181 阅读 · 0 评论 -
在clion和Linux中如何连接数据库?(详细版)
34 //- `"localhost"`: 替换为您的MySQL服务器地址。在Linux上,可以使用包管理器进行安装。35 // - `"username"`: 替换为您的MySQL用户名。39 //可以修改SELECT语句中的"column1, column2, column3"部分,根据您的需求指定要查询的列名。40 //如果您想查询所有列,可以使用*通配符,如上述示例中的"SELECT * FROM table"。37 // - `"database"`: 替换为您要连接的数据库名称。原创 2023-09-20 22:47:32 · 206 阅读 · 0 评论 -
实现String字符串类,包含无参构造函数、有参构造函数、拷贝构造函数、size()求字符串长度、substr(int pos, int count)获取子串函数,并实现以下运算符重载:
/**实现String字符串类,包含无参构造函数、有参构造函数、拷贝构造函数、size()求字符串长度、substr(int pos, int count)获取子串函数,并实现以下运算符重载:==、!= 、> 、< 、= 、<< 、>> 、[]、+、+= */#ifndef INC_0908C_STRING_H#define INC_0908C_STRING_H#include <iostream>#include <cstring>原创 2023-09-19 09:07:36 · 38 阅读 · 0 评论 -
c++:实现一个类,删除/创建文件夹,并打印指定目录下的文件列表,并返回文件个数
函数来创建指定名称的文件夹。如果创建成功,会输出 "Directory created: 文件夹名" 并返回。如果创建失败,会输出 "Failed to create directory: 文件夹名" 并返回。函数来删除指定的文件。如果删除失败,会输出 "Failed to remove file: 文件名" 并返回。函数来遍历指定名称的目录,并输出目录中的文件名。函数会返回目录中的文件数量。函数来列出该目录中的文件。最后,输出目录中文件的总数。函数中,首先定义了一个文件名。函数来创建该文件夹。原创 2023-09-16 18:54:11 · 147 阅读 · 0 评论