logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

c++ const 关键字

C++中的const关键字用于定义常量,确保数据不可变性和代码安全性。主要用法包括:定义常量变量替代宏常量、修饰指针(指向常量/常量指针)、函数参数保护、类const成员函数等。const提供类型安全、明确设计意图,constexpr则用于编译期常量。最佳实践建议默认使用const,避免修改不必要的数据,但需谨慎使用const_cast强制转换。合理使用const能提高代码可读性、安全性和性能。

#c++
Qt 注册 C++ 给 QML 调用的几种方式

"主要有三种方式:Q_INVOKABLE和slots注册方法、Q_PROPERTY注册属性、qmlRegister系列函数注册类型。Qt6推荐用QML_ELEMENT宏配合CMake自动注册,更简洁。Qt 不会自动生成这些函数,都要手写。不像 C# 的 property 或 Kotlin 那样有自动合成。是 getter 函数名,

#qt#c++#数据库
C/C++ IO多路复用(select/poll/epoll)

本文介绍了IO多路复用技术及其实现方式select、poll和epoll。IO多路复用允许单线程/进程同时监听多个文件描述符,当某些描述符就绪时进行处理,提高高并发场景下的IO效率。文章对比了三者的特性:select存在1024个描述符的限制且效率低;poll无硬性限制但仍需轮询;epoll是Linux下的高效实现,使用红黑树和就绪链表,仅处理就绪事件且支持边缘触发。通过C语言示例代码详细展示了三

#c语言#c++
TCP/IP c/c++

本文系统梳理了TCP/IP协议的核心知识点和C/C++ Socket编程要点。主要内容包括:TCP/IP四层模型及协议对比、TCP可靠性机制(三次握手/四次挥手、滑动窗口、拥塞控制)、TIME_WAIT状态作用等理论基础;Socket编程核心流程(服务端/客户端实现)、字节序转换、IO多路复用(select/poll/epoll)等实践内容;以及TCP粘包处理、超时设置、并发处理等高频面试问题。文

#c++#网络
Qt界面渲染样式

Qt界面渲染Qt中界面的渲染,吸收了html的css的渲染风格,渲染风格很类似。Qt界面风格Qt能够显示不同的平台的界面风格,Qt中的各种风格是一组继承自QStyle的类。QStyle类是一个抽象基类,封装了一个GUI的外观,Qt的内建(built-in)部件使用它来执行几乎所有的绘制工作,以确保它们看起来可以像各个平台上的本地部件一样。QStyle对象可以通过QStyleFactory类创建,首

#qt
epoll网路编程--多路复用

本文介绍了一个基于epoll边缘触发(ET)模式的TCP回声服务器实现。核心思路包括:1)创建非阻塞监听socket并注册到epoll实例;2)使用epoll_wait监控事件;3)ET模式下需循环处理直到EAGAIN;4)分别处理新连接、可读、可写等事件。代码示例展示了基本框架,但存在缓冲区共享问题,实际应用中应为每个连接维护独立缓冲区。注意事项:ET模式必须配合非阻塞I/O,可写事件监听需谨慎

#服务器#网络
C++ 条件变量,互斥锁

摘要:C++多线程编程的核心同步机制包括互斥锁和条件变量。互斥锁(std::mutex)保护共享数据,防止数据竞争,推荐使用RAII风格的std::lock_guard和更灵活的std::unique_lock管理锁。条件变量(std::condition_variable)用于线程间通信,实现生产者-消费者模式,必须与互斥锁配合使用,通过wait()、notify_one()方法协调线程。使用时

#c++
C++ 智能指针

摘要:C++智能指针(unique_ptr、shared_ptr、weak_ptr)通过自动内存管理解决传统指针的内存泄漏、野指针等问题。unique_ptr实现独占所有权,开销最小;shared_ptr通过引用计数支持共享所有权;weak_ptr解决shared_ptr的循环引用问题。最佳实践包括优先使用make_unique/make_shared、避免手动管理资源、谨慎使用get()获取原始

#c++
Ubuntu1804 修改IP和桥模式搭建

参考:Vmware虚拟机仅主机(Host-only)、桥接(Bridge)、NAT三种网络模式介绍https://blog.51cto.com/zchui/2148799Ubuntu 18.04 更改静态IPhttps://www.cnblogs.com/GHzz/p/9641234.html虚拟机下桥接模式的配置https://...

到底了