C&C++
文章平均质量分 61
梦想画家
开源软件爱好者,乐于博客分享,业余时间喜欢跑步和科幻,希望与意趣相投朋友一起学习交流。
展开
-
C++带参数宏解惑教程
本文介绍使用带参数宏过程中遇到的几个问题和坑,希望对你有帮助。带参数宏定义语法如下:#define macro_identifier(<arg_list>) <token_sequence>不能有空格分隔macro_identifier 和 “(” 。可选参数arg_list是一组用逗号分割的标识符,与函数参数类似。但在括号参数内部的逗号被视为参数的一部分,不是参数分隔符,每个逗号分割的标识符扮演形参或占位符角色。调用宏语法:macro_identifier<w.原创 2022-04-11 10:48:28 · 3334 阅读 · 0 评论 -
C++ 内存管理简明教程
C++ 在运行时给变量或数组分配内存,也称为动态内存分配。其他语言(如Java, Python)由编译器控制内存,但C++需要手动维护,当不需要时也要手动回收动态创建的内存。本文介绍C++动态内容管理,并通过示例进行说明。内存管理目的数组包括相同类型数据,大多数情况下声明数组时,内存已经分配。如果分配太小,可能不够使用,反之可能造成浪费。那么最好的办法使用new操作符在运行时动态分配。new操作符下面示例使用new操作符给指针变量分配内存.// 声明 int 指针int* pointerVa.原创 2022-04-10 14:36:24 · 1503 阅读 · 0 评论 -
Qt5 字符串类应用教程
本文介绍Qt5中的QString类,它主要实现字符串相关的功能,提供了很多强大的方法。QString类支持Unicode字符编码,按照16字节QChar方式存储字符串,每个QCharr对应一个Unicode 4.0字符。与其他语言不同,QStrring能够被修改。本文提供的示例不需要Qt GUI模块,创建为命令行程序示例。因为Qt GUI模块是缺省加载的,因此需要通过 QT -= gui 进行显示声明。基础示例首先我们看QString类的一些基础方法:#include <QTextStre.原创 2022-03-31 18:11:28 · 1688 阅读 · 0 评论 -
Qt5 容器类教程
本文我们讨论Qt5 容器类,主要包括QVector, QList, QStringList, QSet, QMap类。容器类是通用类型,用于存储特定类型的对象集合,C++提供了STL,在Qt中我们可以使用Qt容器或STL容器。概述Qt主要提供了两种类型的容器:顺序和关联。顺序类容器一个接着一个地存储对象,而关联容器按照键值对方式存储对象。QList, QVector, QLinkedList是顺序类,QMap 和 QHash 是关联类。我们的示例主要为命令行程序,不需要Qt GUI模块,因此在项目.原创 2022-03-28 23:10:56 · 614 阅读 · 0 评论 -
C++ Void 指针 教程
本文我们一起看看Void指针,了解它的用法及优缺点。Void 指针Void 指针也称为通用指针,可以指向任何类型对象的特殊类型指针。Void 指针声明与正常指针一样,使用void关键字:void* ptr; // ptr 是Void 指针void指针可以指向任何类型对象,请看示例:int nValue;float fValue;struct Something{ int n; float f;};Something sValue;void* ptr;pt.原创 2022-03-28 11:46:43 · 4887 阅读 · 0 评论 -
C++ Lambda 表达式教程
C++ Lambda 函数或表达式类似于无需重用的内联函数,一般以简单的代码片段形式存在。典型Lambda应用场景为把封装的几行代码传给algorithm 或 asynchronou方法。本文通过示例展示它的几个应用场景。C++ Lambda 表达式自C++ 11引入Lambda 表达式,它可以方便地定义匿名函数对象(闭包),可以直接执行或作为参数传递给函数。基本语法如下:[capture clause] (parameters) -> return-type{ /.原创 2022-03-23 12:18:02 · 1562 阅读 · 0 评论 -
C++虚函数重载声明最佳实践
本文我们学习如何使用C++11特定 override 和 final 标识符声明虚方法。问题描述与其他类似编程语言不同,C++没有特定的声明接口语法(仅包括纯虚方法的基类),而且如何声明虚方法方式存在不足。在C++中虚方法通过 virtual 关键字声明,但是在派生类中重写虚方法时,virtual 关键字却是可选的,当遇到较大的类或继承关系复杂时会导致混乱,为了确认某个方法是否为虚方法,需要顺着继承关系一致追溯至基类。另外,有时还会遇到虚方法在后续派生类中不再被重写场景,这时仅依赖基类的virtua.原创 2022-03-22 09:32:33 · 542 阅读 · 0 评论