暂无搜索历史
在多人开发的项目中,必定存在合并代码的场景,而合并代码的方式主要有两种:merge和rebase。虽然merge和rebase都可以实现代码合并,但两者却大相径...
针对于简单的C++小程序,可以使用task.json和launch.json来配置编译和调试。但是对于生成lib、dll等稍复杂的项目,虽然可以借助task.j...
由于Visual Studio安装即用,门槛低,便于调试,且最开始入门一直使用VS,所以在windows平台一直使用Visual Studio进行开发,但是Vi...
CMake是一个开源的、跨平台的自动化构建系统,用于管理软件构建过程。它通过编写配置文件(CMakeLists.txt),自动生成适合不同编译器和操作系统的构建...
在C++中,优先级队列(std::priority_queue)是一个功能强大的容器适配器,它基于堆实现,提供了基于元素优先级的快速访问和排序功能。下面,我们将...
组合模式作为结构型模式的一种,主要用于将对象组合成树形结构以表示“部分-整体”的层次结构。组合(Composite)模式使得用户对单个对象和组合对象的使用具有一...
桥接模式(Bridge Pattern),作为结构型设计模式的一种,桥接模式的核心精髓在于解耦两个乃至多个维度的变化(本文仅以两个维度为例),确保各个维度能够独...
之前问面试者“定义一个空类,并声明该类的多个对象,为什么对象间可以相互赋值?”本意是希望面试者能够回答编译期默认生成的构造函数、拷贝构造函数和拷贝赋值运算符函数...
自C++98起,异常处理机制已成为C++的一部分,通过throw关键字抛出异常,而try-catch块则用于捕获并处理这些异常。然而,在C++98时代,异常处理...
C++程序员肯定接触过可变参数,毕竟我们都用过printf,但是直到C++11时C++才推出真正意义上的可变参数。
在现代C++编程中,构造函数扮演着初始化对象状态的重要角色。随着语言的发展,C++11引入了两个强大的构造机制——委托构造(Delegating Constru...
在日常代码书写代码时可以借助C++关键字,简化C++代码书写,提高代码的安全性、效率和可读性。当前我常用关键字如下含有delete、default、nodisc...
在继承关系中,派生类如果意图覆盖基类的虚函数,但是由于拼写错误或者参数类型不匹配等原因导致并没有真正覆盖成功,但直到运行时才能发现程序的行为未满足预期。如何将这...
昨天的文章中叙述了C++17的文件系统操作,极大的方便了对于文件夹的操作,见链接[现代C++]文件系统操作。今天将更深一步的讲解文件的读写。
作为一名QT开发工程师,对于QT的文件系统操作的便利性推崇备至,但在非QT程序中仅仅因为操作文件系统而集成QT库显得过于繁重。
通常在windows平台开发,习惯于使用vs创建工程,方便快捷,但是创建的工程不具备跨平台属性。为了跨平台,使用cmake组织工程。但是每次都需要自己从0开始写...
之前在文章类内裸指针的使用方法中提到裸指针涉及到浅拷贝,导致崩溃,解决方案中 提到可以使用共享指针杜绝浅拷贝。今日结合python代码再次剖析其原因。
软件开发中遇到需要播放音频文件时,可以使用操作系统提供的API也可以依赖于第三方库,通常第三方库多因其简单易用的接口而成为首选。miniaudio便是游戏的音频...
自C++11以来,引用变得繁多且复杂了,在以往左值引用的基础上新增了右值引用和万能引用,同时提出了引用折叠概念。本文致力于揭开引用的面纱。
之前推荐过json组装和解析的开源库jsoncpp,今天推荐另一款json类库nlohmann,其以对于现代C++的支持度高而著称。
暂未填写公司和职称
暂未填写个人简介
暂未填写技能专长
暂未填写学校和专业
暂未填写个人网址
暂未填写所在城市