
C++
文章平均质量分 57
CnLg.NJ
这个作者很懒,什么都没留下…
展开
-
浅谈C++之内存管理
内存管理是C++最令人切齿痛恨的问题,也是C++最有争议的问题,C++高手从中获得了更好的性能,更大的自由,C++菜鸟的收获则是一遍一遍的检查代码和对C++的痛恨,但内存管理在C++中无处不在,内存泄漏几乎在每个C++程序中都会发生,因此要想成为C++高手,内存管理一关是必须要过的,除非放弃C++,转到Java或者.NET,他们的内存管理基本是自动的,当然你也放弃了自由和对内存的支配权,还放弃了C++超绝的性能。本期专题将从内存管理、内存泄漏、内存回收这三个方面来探讨C++内存管理问题。原创 2024-11-13 09:01:44 · 913 阅读 · 0 评论 -
浅谈QT用法
C++ 是一种通用的、静态类型的、大小写敏感的、自由格式的编程语言,支持过程化编程、面向对象编程和泛型编程。它最初由 Bjarne Stroustrup 在 1979 年在贝尔实验室开始开发,目的是扩展和改进 C 语言。Qt 是一个跨平台的 C++ 应用程序框架,用于开发具有图形用户界面的应用程序,以及非GUI程序,如控制台工具和服务器。Qt 是用 C++ 编写的,并且提供了一个叫做 Qt C++ 库的大型集合,它包含了各种控件、功能和模块,用于开发复杂的应用程序。原创 2024-11-08 08:59:59 · 634 阅读 · 0 评论 -
浅谈C++ MFC
C++ MFC(Microsoft Foundation Classes)是微软公司提供的一个C++类库,用于在Windows操作系统上快速开发应用程序。MFC库封装了Win32 API的复杂性,提供了一个面向对象的框架,使得开发者可以更容易地创建GUI(图形用户界面)应用程序。原创 2024-11-07 10:45:40 · 1179 阅读 · 0 评论 -
浅谈C++算法
C++ 是一种功能强大的编程语言,常用于系统/应用软件、游戏开发、高性能服务器和实时模拟等领域。在C++中实现算法时,你可以使用标准模板库(STL)提供的数据结构和算法,也可以自己编写算法。1、向量(Vector):动态数组,可以自动调整大小。2、列表(List):双向链表,允许快速插入和删除。3、集合(Set):不允许重复的元素集合,自动排序。4、映射(Map):基于键值对的集合,键不允许重复,自动排序。5、队列(Queue):先进先出(FIFO)的数据结构。6、栈(Stack)原创 2024-11-04 09:34:58 · 364 阅读 · 0 评论 -
浅谈C++指针用法
在C++中,指针是一种特殊的变量,它存储的是另一个变量的内存地址。通过指针,程序可以直接访问和操作内存,这使得指针成为C++中非常强大的特性之一。指针变量的声明需要指定它指向的数据类型。int *ptr;这里,ptr是一个指针变量,它指向一个int类型的变量。原创 2024-11-03 10:06:18 · 355 阅读 · 0 评论 -
浅谈二进制位移
二进制位移操作是计算机编程中常用的一种位操作,它可以用来实现乘除操作、数据压缩和扩展等。原创 2024-11-03 09:58:24 · 598 阅读 · 0 评论 -
浅谈C++之触发器用法
在C++中,触发器(Trigger)的概念通常指的是在特定条件下自动执行某些操作的机制。这可以是通过事件驱动编程、回调函数、信号和槽机制(如Qt框架中使用)等方式实现的。这是实现触发器的一种简单方式,通过将函数作为参数传递给另一个函数,当特定条件满足时,调用这个函数。在事件驱动编程中,程序的执行流程由事件(如用户输入、定时器事件等)驱动。在Qt框架中,信号和槽是一种非常强大的触发器机制,用于对象之间的通信。C++20引入了协程,可以用于实现更复杂的异步操作和触发器。原创 2024-10-23 15:22:08 · 741 阅读 · 0 评论 -
浅谈C++之抽象类、抽象方法
在C++中,抽象类和抽象方法的概念与C#类似,但有一些关键的区别。C++使用纯虚函数(pure virtual functions)来实现抽象方法,而抽象类则是包含至少一个纯虚函数的类。原创 2024-10-18 08:47:30 · 605 阅读 · 0 评论 -
浅谈C++之虚函数和重写
在C++中,虚函数(virtual function)是一种允许在派生类(子类)中重写(override)函数的行为的成员函数。使用虚函数可以实现运行时多态(runtime polymorphism),即在程序运行时决定调用哪个函数。原创 2024-10-15 08:44:17 · 569 阅读 · 0 评论 -
浅谈C++之MBus通信
在C++中实现MBus通信,您通常需要使用特定的库来处理MBus协议的细节。以下是一些关键步骤和示例代码,帮助您开始使用C++进行MBus通信。原创 2024-10-14 08:49:47 · 525 阅读 · 0 评论 -
浅谈C++之UDP通信
在C++中,可以使用标准库中的套接字API来实现UDP通信。原创 2024-10-13 14:22:33 · 558 阅读 · 0 评论 -
浅谈C++之日志记录
您需要创建一个配置文件(例如 log4net.config)并将其添加到您的项目中。这个配置文件将定义日志记录器(loggers)、附加器(appenders)、布局(layouts)和过滤器(filters)。这个配置定义了一个名为 "RollingFile" 的附加器,它将日志记录到文件中,并在文件大小达到 10MB 时进行滚动。在您的应用程序启动时,您需要初始化 log4net 并加载配置文件。在您的 C++/CLI(托管 C++)代码中,您可以使用。这些日志调用将根据您的配置文件中的设置被记录。原创 2024-10-12 09:30:49 · 379 阅读 · 0 评论 -
浅谈C++之Socket粘包处理
在C++中,Socket编程同样会遇到粘包和半包问题。这些问题的根源在于TCP协议的面向流特性,即TCP不保证发送的数据块的大小,它只知道字节流。因此,当发送方发送多个数据包时,接收方可能无法确定数据包的边界,从而导致粘包或半包问题。原创 2024-10-11 09:40:46 · 467 阅读 · 0 评论 -
浅谈C++之Mqtt协议
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅模式的"轻量级"通讯协议,它和 Modbus TCP 一样都是基于 TCP/IP 之上的应用层协议。原创 2024-10-09 08:54:41 · 800 阅读 · 0 评论 -
浅谈C++之多线程处理TCP请求
在C++中,使用多线程处理TCP请求通常涉及到使用套接字(sockets)和线程库。C++11标准引入了<thread>库,使得多线程编程更加简单。以下是一个简单的示例,展示如何使用C++的套接字和<thread>库来创建一个多线程的TCP服务器。原创 2024-10-08 09:56:43 · 508 阅读 · 0 评论 -
浅谈C++之Redis缓存
Redis 是一个开源、基于内存、使用 C 语言编写的 key-value数据库,并提供了多种语言的 API。它的数据结构十分丰富,基础数据类型包括:string(字符串)、list(列表,双向链表)、hash(散列,键值对集合)、set(集合,不重复)和 sorted set(有序集合)。主要可以用于数据库、缓存、分布式锁、消息队列等...原创 2024-09-29 08:51:58 · 395 阅读 · 0 评论 -
浅谈C++ 多线程锁处理
在C++中,多线程编程同样需要处理线程安全问题,C++11及更高版本提供了一套标准库来支持多线程编程,包括锁的处理。原创 2024-09-27 14:14:02 · 461 阅读 · 0 评论 -
浅谈C++之指针
在C++中,指针是一种复杂的数据类型,它存储了另一个变量的内存地址。通过指针,程序可以直接访问和操作内存,这为编程提供了极大的灵活性和效率,但同时也增加了复杂性和潜在的错误风险。原创 2024-09-26 08:52:14 · 619 阅读 · 0 评论 -
浅谈C++之线程管理
C++11 提供了强大的多线程支持,涵盖了线程的创建、同步、共享数据管理等,极大简化了多线程编程的复杂性。线程:一个程序执行流的最小单位。每个线程都有自己的程序计数器、栈、寄存器等。多线程:程序可以同时执行多个任务,提高了程序的并发能力。并行与并发:并行是多个线程在多个处理器上同时运行;并发是多个线程在同一处理器上通过时间片轮转方式运行。原创 2024-09-26 08:48:35 · 675 阅读 · 0 评论 -
浅谈C++之多线程实现
传统的C++(C++11之前)中并没有引入线程这个概念,在C++11出来之前,如果我们想要在C++中实现多线程,需要借助操作系统平台提供的API,比如Linux的<pthread.h>,或者windows下的<windows.h>。C++11提供了语言层面上的多线程,包含在头文件<thread>中。它解决了跨平台的问题,提供了管理线程、保护共享数据、线程间同步操作、原子操作等类。原创 2024-09-24 08:52:45 · 687 阅读 · 0 评论 -
浅谈C++之运算符
运算符是描述对数据进行的运算(操作)、体现数据之间运算关系的符号,运算符也叫操作符。原创 2024-09-20 10:05:29 · 1601 阅读 · 1 评论 -
浅谈C++ 指针用法
【代码】浅谈C++ 指针用法。原创 2024-09-19 08:50:39 · 558 阅读 · 0 评论 -
浅谈C++调用COM组件
在调用COM组件时,需要检查每一步是否成功,并适当处理错误。:如果COM组件是你自己开发的,确保它已经被注册到系统中。:在调用任何COM组件之前,需要初始化COM库。:为了简化资源管理,可以使用智能指针,如。:确保你的项目链接了必要的COM库,如。:通过组件的CLSID来获取接口。:通过获取到的接口指针调用方法。:在程序结束前,清理COM库。:使用完接口后,需要释放。原创 2024-09-19 08:45:51 · 615 阅读 · 0 评论