
C++
文章平均质量分 62
wjjontheway
这个作者很懒,什么都没留下…
展开
-
C++ 混合Python编程 及 Visual Studio配置
Visual Studio 下C++和Python 混合编程原创 2023-08-10 17:10:52 · 1560 阅读 · 0 评论 -
C++ float计算精度和输出为string
float数据保持精度,并且输出转换成string原创 2023-08-02 15:51:45 · 579 阅读 · 0 评论 -
c++ std::sort使用自定义的比较函数排序
使用sort对容器进行排序,自定义升序降序函数,并且在类中使用Lambda表达式原创 2023-08-02 15:43:56 · 1420 阅读 · 0 评论 -
C++ 算术溢出:“operator”运算会导致编译时溢出
但是在Visual Studio中。原创 2023-08-02 15:25:05 · 259 阅读 · 0 评论 -
C++分配二维和三维数组时内存连续性的问题
在分配三维数组时,如何创建连续的内存布局,析构函数内释放内存的情况原创 2023-06-30 16:53:24 · 488 阅读 · 0 评论 -
Qt Visual Studio添加Qt ui和编译注意事项
VS工程中添加Qt Widget Class过程注意事项原创 2022-12-14 10:40:58 · 4163 阅读 · 1 评论 -
内联函数在头文件内定义
inline内联函数在头文件内定义,否则会出错原创 2022-10-31 17:34:42 · 789 阅读 · 0 评论 -
C++ 自定义MyString类 及 深拷贝
文章目录深拷贝MyString.hppMyString.cppmain.c深拷贝带有指针的类,必须有 拷贝构造和拷贝赋值构造函数。MyString.hpp#include <iostream>//带有指针的类 必须有 拷贝构造(copy) 和 拷贝赋值(op=)class myString{public: myString(const char* cstr = nullptr); myString(const myString& str); //拷贝构原创 2022-05-07 02:31:52 · 591 阅读 · 0 评论 -
JSON for Modern C++
json for modern c++是一个德国大牛nlohmann写的,该版本的json有以下特点:1.直观的语法。2.整个代码由一个头文件组成json.hpp,没有子项目,没有依赖关系,没有复杂的构建系统,使用起来非常方便。3.使用c++11标准编写。4.使用json 像使用STL容器一样。5.STL和json容器之间可以相互转换。...转载 2022-03-04 17:00:09 · 780 阅读 · 0 评论 -
c++ 之 类型转换
C++ 类型转换原创 2022-02-08 10:34:33 · 541 阅读 · 0 评论 -
C++内存模型 之 拷贝构造
拷贝构造的三种场景原创 2022-01-28 20:32:53 · 599 阅读 · 0 评论 -
C++内存模型 之 动态绑定、虚函数、运行时多态的实现
本文转载自 IIcyZhao’s Road本文链接地址: C++中的动态类型与动态绑定、虚函数、运行时多态的实现 动态类型与静态类型 静态类型 是指不需要考虑表达式的执行期语义,仅分析程序文本而决定的表达式类型。静态类型仅依赖于包含表达式的程序文本的形式,而在程序运行时不会改变。通俗的讲,就是上下文无关,在编译时就可以确转载 2022-01-24 23:56:14 · 298 阅读 · 0 评论 -
C++对象模型 之 关于对象
C++ 对象模型, 内存模型,内存布局, 多态原创 2022-01-24 23:27:24 · 1016 阅读 · 0 评论 -
C++ 之前端控制器模式
文章目录Front Controller PatternDemoFront Controller Pattern前端控制器模式(Front Controller Pattern)是用来提供一个集中的请求处理机制,所有的请求都将由一个单一的处理程序处理。该处理程序可以做认证/授权/记录日志,或者跟踪请求,然后把请求传给相应的处理程序。前端控制器(Front Controller):处理应用程序所有类型请求的单个处理程序。调度器(dispatch)前端控制器可能使用一个调度器对象来调度请求到相应的原创 2022-01-19 20:10:47 · 180 阅读 · 0 评论 -
C++ 之 命令模式
文章目录结构描述说明CommandConcreteCommandClientInvokerReceiver协作方式Demo结构描述将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作说明Command声明执行操作的接口,通常命名为ICommand,具体的Command会以继承该接口并重写其execut接口ConcreteCommand将一个接收者对象绑定于一个动作,之后,调用接收者相应的操作,以实现Execute来完成相应的命令原创 2022-01-08 21:28:34 · 1311 阅读 · 0 评论 -
C++之 抽象类和接口类
抽象类与接口类的区别原创 2022-01-04 21:58:08 · 1189 阅读 · 0 评论 -
C++ 之 中介模式
C++ , 中介模式原创 2021-12-31 23:17:49 · 1329 阅读 · 0 评论 -
C++ 之 代码规范(持续更新)
文章目录如果类名前加"I"如果类名前加"I"表明这个类是接口,一般情况下这个类里面有纯虚函数。 为了方便理解而添加。原创 2021-12-31 16:47:27 · 287 阅读 · 0 评论 -
C++ 之 知识点备忘录(持续更新)
文章目录好记性不如烂笔头const成员函数后加const好记性不如烂笔头本文将记录在学习C++ 过程中的一些知识小点。以便查询和面试准备const成员函数后加const编译器会自动给每一个函数加一个this指针。在一个类的函数后面加上const后,就表明这个函数是不能改变类的成员变量的(加了mutable修饰的除外)。实际上,也就是对这个this指针加上了const修饰class test{public: test(int a=10):aa(a){} ~test(){}原创 2021-12-31 14:55:30 · 208 阅读 · 0 评论 -
C++ 之 代理模式
文章目录含义模型图示例代码结构DemoSubjectRealSubjectProxymain输出参考含义为其他对象提供一种代理以控制对这个对象的访问房客租房都需要通过中介,无法直接和房东进行沟通。PS: 可恶的二房东某种程度上也算是中介,但是又不完全是中介。模型图模型图截图示例代码#include <iostream>/** * Subject接口定义了虚拟机口,真实的Subject和代理会重新实现这类虚接口(虚函数)。 * 当client使用上述接口与RealS原创 2021-12-31 14:25:15 · 682 阅读 · 0 评论 -
Ubuntu 安装gcc 9.1 和 C++17
文章目录编译条件需要C++17参考文章修改下载镜像运行make之前编译完成安装替换编译器编译条件需要C++17Ubuntu默认 gcc 5.4.0下载gcc 链接gcc downloadgcc-9.1.0gcc-9.1.0下载地址参考文章Ubuntu 16.04系统中GCC 9.1编译器安装方法及C++17标准测试示例修改下载镜像contrib/download_prerequisitesbase_url='ftp://gcc.gnu.org/pub/gcc/infr原创 2021-12-24 14:39:03 · 7684 阅读 · 0 评论 -
C++ 之 观察者模式
文章目录SubjectObserverConcrete_SubjectObserverPersonmainSubjectsubject.h#ifndef SUBJECT_H#define SUBJECT_Hclass Observer;class Subject{public: Subject(); virtual ~Subject(); virtual void registObserver(Observer *ob) = 0; virtual voi原创 2021-12-22 01:53:25 · 360 阅读 · 0 评论 -
C++ 构造函数
构造函数分类序号类型备注1无参数构造函数默认构造函数2带参数的构造函数3普通构造函数4拷贝构造三种调用方法序号方法1括号法2显示法3隐式转换法构造函数示例class Person {public: //无参(默认)构造函数 Person() { cout << "无参构造函数!" << endl; } //有参构造函数 Person(int a) {原创 2021-07-11 21:39:53 · 504 阅读 · 3 评论 -
C++ 引用
引用引用的本质Type* const ref = &Type_value指针的指向不可修改//----------------------------------------------------------------------------------// 2.1 C++编译器背后做了什么工作// b--->11// a: 11// b : 11// & a : 15727144// & b : 15727144 ///!这里b的地址和a的原创 2021-07-11 17:48:51 · 80 阅读 · 0 评论 -
C++ 命名空间
#Demo#include <iostream>using namespace std;//----------------------------------------------------------------------------------// 1. 命名空间 //----------------------------------------------------------------------------------//设置命名空间Anamespac原创 2021-07-11 17:15:00 · 93 阅读 · 0 评论 -
学习C++规划和反思
崎岖的学习路径一直想从C转C++, 在2021年春节,那会儿在B站上跟着视频, 弱弱地了解了C++的一些基本概念。 但是到如今,没有整理成自己能消化的思维导图。 因此,当希望再次深入时,又一遍的开始,总感觉走了许多老路而不得。归根到底,没有形成自己的思维导图和系统知识点。如何形成自己的思维导图1. 写博文+Demo。对于一些知识点和主题,写一篇详细的博文+Demo, 好记性不如烂笔头。在接下来的几个月的时间,计划对常见的知识点进行一些梳理。不要太在乎内容,也许你写的内容,在大神眼里根本不值一提,但原创 2021-07-11 17:11:55 · 216 阅读 · 0 评论 -
C++_类互相包含
C++ 类相互包含分析C++类相互包含问题描述分析解决方法原因注意:测试例程测试结果C++类相互包含问题描述两个类,Class A和Class B,定义时,Class A用到了Class B, Class B用到了Class A.假设有两个类,如下ClassA.h#include "ClassB.h"class A{public: int m_valueA; B m_b;}ClassB.h#include "ClassA.h"class B{public: i原创 2021-02-17 16:38:30 · 2977 阅读 · 1 评论