摘要:
【1】std::remove_if 今天突然有同事问下面这段代码应如何理解。 源码如下: void GStiffenerBlockRepoDefaultImpl::destory(int id) noexcept { m_stiffeners.erase(std::remove_if(std::be 阅读全文
摘要:
在Visual Studio调试期间,QString类型想要在调试过程中进行显示需安装插件! 注意:此处提供不需要安装插件,直接配置natvis方式,从而调试QString。 【1】qt5.natvis (1)找到qt5.nativs文件,建议使用everything查找。 (2)将此文件放置在C盘 阅读全文
摘要:
ERROR:C2676 二进制“==”:“Student”不定义该运算符或到预定义运算符可接收的类型的转换 多次被同事问到此类错误,于此备录一下。 【1】复现问题 用最简单代码复现说明此问题,示例如下: 1 #include <iostream> 2 #include <map> 3 #includ 阅读全文
摘要:
工作中经常遇见的一个场景:判断某个元素是否在vector容器中。 当然,会有很多种方法,由内置数据类型到自定义数据类型,下面简单总结一下。 【1】内置数据类型 代码胜过一切文档。如下示例代码: 1 #include <iostream> 2 #include <vector> 3 #include 阅读全文
摘要:
【1】Windows10 为某软件添加右键(包括文件、目录、桌面(目录内)的空白位置)菜单 下文以typora为例,其他软件类比操作。 具体操作步骤如下: (1)桌面新建一个txt文件,文件名随便(例如:1024.txt)。 (2)复制以下内容,粘贴到txt文件中。 Windows Registry 阅读全文
摘要:
【1】hpp文件 hpp,Header plus plus的缩写,实质是将.cpp的实现代码混入.h头文件,即声明与定义(实现)都包含在同一个文件中。 该类的调用者只需要include该hpp文件即可,无需再将cpp加入到project中进行编译。 实现代码将直接编译到调用者的obj文件中,不再生成 阅读全文
摘要:
【1】函数符定义 函数对象,也叫函数符(functor)。即函数符其实是对函数对象的一种别称。 函数符(函数对象)是指可以类似函数方式与()结合使用的任意对象。 那么,很显然,函数符包括函数名、函数指针的对象和重载了()运算符的类对象(即定义了函数operator()()的类)。 【2】函数符种类 阅读全文
摘要:
【1】错误列表 今天被同事问到这个问题,当时一阵懵圈。现梳理操作方式如下: 工具(调试)——>选项——>项目与解决方案——>常规——>若生成完成时有错误,则始终显示错误列表(T) 如下图示例: good good study, day day up. 顺序 选择 循环 总结 阅读全文
摘要:
【1】复现编译错误 C2675: 一元“++”:“_Iter”不定义该运算符或到预定义运算符可接收类型的转换 1 #include <map> 2 #include <unordered_map> 3 4 struct GJGActionEvent 5 { 6 std::map<std::strin 阅读全文
摘要:
【1】右值和左值引用成员函数 【2】应用示例 简单的示例程序如下: 1 #include <iostream> 2 3 struct Test 4 { 5 // can be invoked on lvalue 6 void f() &; 7 8 // can be invoked on rvalu 阅读全文
摘要:
【1】std::function简介 std::function是一个函数包装器模板,最早来自boost库,对应其boost::function函数包装器。 一个std::function类型对象实例可包装以下可调用元素类型如下: (1)函数 (2)函数指针 (3)类成员函数指针 (4)任意类型的函 阅读全文
摘要:
【1】spdlog简介 spdlog是一个开源的、快速的、仅有头文件的基于C++11实现的一款C++专用日志管理库。 【2】源码下载 下载地址:https://github.com/gabime/spdlog 【3】工程配置 (1)解压缩源码包 解压后,找到include文件夹。类比本地: 注意:i 阅读全文
摘要:
【1】复现错误 error c2663: n个重载没有“this”指针的合法转换 错误示例代码: 1 #include <iostream> 2 using namespace std; 3 4 class Student 5 { 6 public: 7 Student(string name, s 阅读全文
摘要:
【1】作者简介 【2】库 https://github.com/nlohmann/json 【3】应用示例 (1)工程配置 (2)示例代码 1 #include <string> 2 #include <vector> 3 #include <fstream> 4 #include <iostrea 阅读全文
摘要:
当然,从官网下载对应版本包进行升级是其中一种方式。 温馨提示:以下方法基于默认原CMake版本是在安装Python的基础上进行安装的。 CMake安装:在安装Python后,通过命令pip install cmake安装。 【1】卸载旧版本 以管理员身份运行Cmder,查看目前版本号(本地为3.15 阅读全文
摘要:
由于不同的IDE中Tab键的宽度不一样,所以为了让在不同的IDE中看到相同的缩进效果,在一些代码规范标准中通常要求将Tab键换成4个空格表示。 【1】如何在VS中设置输入Tab键后智能转换为键入4个空格? 设置步骤:工具 ->选项 ->文本编辑器 ->所有语言 ->制表符 (1)选中“智能” (2) 阅读全文
摘要:
本地版本 Microsoft Visual Studio Community 2019 【1】Visual Studio 2019 UTF-8编码调试显示中文 (1)修改stl.natvis文件 1.1 文件位置:建议使用everything直接搜索文件名 1.2 参考本地位置:E:\Program 阅读全文
摘要:
【1】设置默认支持(Tab转为4个空格) 设置默认支持,即只要进行如下设置操作,以后软件默认就会支持将Tab全部转换为4个空格 操作步骤:设置—>首选项—>语言—>制表符设置—>替换为空格(勾选上) 关键操作如下图: 【2】设置临时支持(Tab转为4个空格) 设置临时支持,即只要进行如下流程操作,仅 阅读全文
摘要:
在C++中,声明自定义的类型之后,编译器会默认生成一些成员函数,这些函数被称为默认函数。其中包括 (1)(默认)构造函数 (2)拷贝(复制)构造函数 (3)拷贝(复制)赋值运算符 (4)移动构造函数 (5)移动赋值运算符 (6)析构函数 另外,编译器还会默认生成一些操作符函数,包括 (7)opera 阅读全文
摘要:
【1】constexpr VS const const修饰的都是具有运行时常量性; constexpr修饰的都是具有编译时常量性; 假如你将一个成员函数标记为constexpr,则顺带也将它标记为了const。如果你将一个变量标记为constexpr,则同样它是const的。 但相反并不成立,一个c 阅读全文