C++
文章平均质量分 51
陨星落云
这个作者很懒,什么都没留下…
展开
-
WIN10编译openssl1.1.1
官网下载并安装 Strawberry Perl 这里选择的是目前最新版本 Strawberry Perl 5.32.1.1 安装过程中务必选择完整安装 安装完成之后会自动添加环境变量,无需手动添加。使用 install_sw 代替 install 是因为默认 install 会生成 40M 左右的 HTML 文档,若不需要就使用 install_sw 仅安装二进制文件和库。将编译后的安装目录下的 bin 文件夹添加到系统 Path 目录下 打开cmd测试安装。配置 makefile。版本 对应架构命令行。转载 2024-04-28 14:26:06 · 2 阅读 · 0 评论 -
在linux安装LAStools
【代码】在linux安装LAStools。原创 2024-01-16 10:29:32 · 473 阅读 · 0 评论 -
MFC与Qt常见窗体、控件对比
因此,在选择框架和组件时,你需要考虑你的应用程序需求、使用的框架以及它们的特性。这个对照表描述了 MFC 与 Qt 常见窗体类的功能和用途,有助于你更好地理解每个窗体类的作用。然而,由于 MFC 和 Qt 是两个不同的框架,窗体类之间可能存在差异,所以在使用之前最好查阅相关文档来了解每个窗体类的详细信息。每个窗体类都具有特定的功能和用途,可以根据应用程序的需求选择适当的窗体类来创建界面。在MFC 中,类CWnd是所有窗口类的基类,很自然的,它也是所控件类的基类。原创 2023-10-14 10:19:30 · 742 阅读 · 0 评论 -
std::any的使用
std::any的使用(C++17)原创 2023-08-20 14:58:33 · 220 阅读 · 0 评论 -
版本号命名规范
转载 2023-07-03 14:55:06 · 105 阅读 · 0 评论 -
Eigen打印输出
【代码】Eigen打印输出。原创 2023-05-25 17:58:03 · 1909 阅读 · 1 评论 -
spdlog库笔记 :编译、安装
由于spdlog是基于头文件实现的,实现代码都位于include目录下的头文件中。(4)右键ALL_BUILD点击生成,从而编译目标,右键INSTALL点击生成,会安装库文件到前面CMAK_INSTALL_PREFIX指定的目录。将lib目录下的spdlogd.lib库文件路径包含进链接器的库文件路径,或者直接将lib目录下的文件拷贝到编译器MSVS的库文件目录。首先将头文件路径(include)包含进项目的搜索头文件路径,或者直接将include目录下的文件拷贝到编译器MSVC的头文件目录。转载 2023-05-25 17:52:49 · 1100 阅读 · 0 评论 -
分析int(*p)[4] = a
表示p是一个指针变量,指向一个存放4个整型元素的一维数组,且p+1(或p-1)是向前(或向后)移动数组长度个字节的大小。其中,指针变量指向一维数组的指针变量,指向二维数组中的某一行。而第一种方式的p+1(或p-1)是向前(或向后)移动int个字节的大小。原创 2023-04-20 16:39:06 · 465 阅读 · 0 评论 -
解决VS2015 安装失败问题,如安装包损坏或丢失
搜索包路径选择下面这个路径。原创 2022-08-11 12:48:19 · 1072 阅读 · 0 评论 -
std::string、const char*、QString之间相互转换
std::string 、const char*和 QString字符串转换原创 2022-08-03 12:30:09 · 476 阅读 · 0 评论 -
visual studio 2019 安装卸载问题
visual studio 2019 安装卸载问题原创 2022-07-17 08:20:23 · 7730 阅读 · 0 评论 -
C++中类的成员函数(方法)
C++中的成员函数原创 2022-07-09 17:49:16 · 1778 阅读 · 0 评论 -
无法将非静态数据成员声明为 inline
示例代码:好奇怪,上次明明可以运行的居然报错。。。报错:E2860 无法将非静态数据成员声明为 inlineC7525 内联变量至少需要 "/std:c++17" 突然发现不支持X86.。。。在x86下:切换X64,错误神奇的消失了。。。...原创 2022-07-09 09:49:02 · 1130 阅读 · 0 评论 -
windows兼容dirent.h
尝试在windows下跑KCF算法,创建工程编译后出现:Error 4 error C1083: Cannot open include file: ‘dirent.h’: No such file or directory F<dirent.h>是一个应用程序接口,主要用于文件系统的目录读取操作,主要提供了几个目录数据读取函数,参见opengroup.org。<dirent.h>是个unix系统下常见的接口,但windows平台的MSVC编译器并没有提供这个接口,对于跨平台的转载 2022-05-09 21:44:00 · 1941 阅读 · 0 评论 -
C++中结构体、数据成员与静态数据成员
结构体结构体:对基本数据结构进行扩展,将多个对象放置在一起视为一个整体结构体的声明与定义(注意定义后面要跟分号来表示结束)仅有声明的结构体是不完全类型( incomplete type )结构体(以及类)的一处定义原则:翻译单元级别数据成员与静态数据成员数据成员静态数据成员含义每个对象都有自己的数据成员多个对象之间共享的数据成员(共享内存)声明数据成员声明时可以引入 const 、引用等限定同数据成员定义与初始化● 数据成员会在构造类对象时定义●(原创 2022-04-03 16:15:07 · 1205 阅读 · 0 评论 -
C++中 lambda 表达式
lambda 表达式lambda 表达式( https://leanpub.com/cpplambda ):– 为了更灵活地实现可调用对象而引入– C++11 ~ C++20 持续更新C++11 引入 lambda 表达式C++14 支持初始化捕获、泛型 lambdaC++17 引入 constexpr lambda , *this 捕获C++20 引入 concepts ,模板 lambdalambda 表达式会被编译器翻译成类进行处理lambda 表达式的基本组成部分[捕获] (原创 2022-04-02 21:09:59 · 1370 阅读 · 0 评论 -
C++中std::bind的使用
bind早期的 bind 雏形: std::bind1st / std::bind2nd– 具有了 bind 的基本思想,但功能有限 (不推荐使用,C++17 中移除)std::bind ( C++11 引入):用于修改可调用对象的调用方式– 调用 std::bind 时,传入的参数会被复制,这可能会产生一些调用风险– 可以使用 std::ref 或 std::cref 避免复制的行为std::bind_front ( C++20 引入): std::bind 的简化形式bind使用原创 2022-04-01 19:46:57 · 1947 阅读 · 0 评论 -
C++泛型算法
泛型算法泛型算法:可以支持多种类型的算法这里重点讨论 C++ 标准库中定义的算法● <algorithm> <numeric> <ranges>例1:打印输出#include <iostream>#include <vector>#include <algorithm>void PrintFunc(int x) { std::cout << x << " ";}int main() {原创 2022-04-01 15:51:59 · 1286 阅读 · 0 评论 -
C++中IO输入/输出流
IO库C++语言则是通过输入/输出流类为程序员提供了输入或输出的功能。C++语言提供了多个输入/输出流类,可实现不同的输入/输出功能。这些输入/输出流类都是从类ios派生出来的,组成了一个以ios为基类的类族,这个类族被称为C++语言的流类库。流类库主要包含如下三组不同功能的输入/输出流类:(1)通用输入/输出流类:提供通用的输入/输出(简称标准I/O)功能。(2)文件输入/输出流类:提供文件输入/输出(简称文件I/O)功能。(3)字符串输入/输出流类:提供字符串输入/输出(简称字符串/O)功能。原创 2022-03-24 19:31:01 · 1351 阅读 · 0 评论 -
C++文件输入/输出流类
文章目录文件输入/输出流类表5: 文件读写模式表6:ios_base 标识的组合意义ofstream:写入文件的流类例8:输出文本文件例9:输出二进制文件ifstream:从文件中读取的流类例10:输入文本文件例11:输入二进制文件表7:检查流的特定状态例12:检查输入文件状态fstream:流类以读取和写入文件表 8: 文件定位标志随机读写文件文件输入/输出流类C++ 提供以下类来执行文件的字符输出和输入:ofstream:写入文件的流类ifstream:从文件中读取的流类fstream:流类原创 2022-03-24 19:19:09 · 6990 阅读 · 0 评论 -
1. ArrayFire教程:在vs2019中配置arrayfire环境
1.下载下载网址:https://arrayfire.com/binaries/2.安装:安装没有什么值得太多介绍的,点击exe,根据软件界面上的提示,一步一步的安装。安装的时候会出现是否添加用户环境变量,这时我们一定要选择添加环境变量,否则,当我们用vs studio编写程序的时候,可能会出现找不到库的情况。3.Visual studio环境的配置我用的是Vs2019。首先打开vs2019,在属性->VC++ 目录->包括目录,填入安装好的库头文件路径,接下来在库目录填入安装好的.原创 2022-03-22 19:46:16 · 1500 阅读 · 9 评论 -
Iostream通用输入/输出流类
文章目录表1:iostream输入流和输出流对象, 头文件\例1:输入数值类型的数据例2:输入字符串类型的数据表2:格式操纵符(manipulator),头文件:\。表3:setiosflags() 可以使用的标志及其说明例3:设定输出位数及填充字符例4:设定对齐方式例5:设定输出整数时的进制例6:设定浮点数的输出格式表 4 :ostream 类有一些成员函数(格式操纵符)例7:设定输出位数及填充字符(格式标记)C++ 的 iostream 类库管理了诸多细节。 例如, 若程序中包含 iostream 文原创 2022-03-05 15:38:09 · 880 阅读 · 0 评论 -
C++长整数加法
项目 1:长整数加法一个文件中包含了两行数字序列,每行数字序列表示一个十进制长整数(只包含 0~9 与符号位,如果存在符号位,那么只能处于开头位置)。你的程序应当接收一个输入参数, 表示该文件,程序读取这两个序列并求二者之和,将结果输出到屏幕上。 需要注意的是,由于序列可能比较长,因此其对应的数值可能无法使用一个内建数据类 型来保存。需要使用一个数组(或 vector)来保存每一位的数值。注意事项: 1. 整数前面可能包含表示正数的’+'符号。你的程序应当允许这种输入,但输出结果中不应 该包含该符号。原创 2022-01-20 20:17:55 · 1902 阅读 · 3 评论 -
C++读取txt文件
#include <cstdlib>#include <iostream>#include <fstream>#include <vector>#include <string>//读取txt文件std::vector<std::string> read_txt(const std::string &path){ std::ifstream ifile(path);//读取文件 std::streampos原创 2022-01-19 16:59:04 · 2960 阅读 · 0 评论 -
C++中string的常见用法
#include <iostream>#include <vector>#include <typeinfo>#include <type_traits>int main(){ /* 与内置的char[]相比,string更侧重于易用性;可复制,可在运行期动态改变字符长度 */ //string初始化 std::string a;//缺省初始化 std::string b{"Hello world!"}; // 聚合初始化,"Hell原创 2022-01-11 21:47:08 · 401 阅读 · 0 评论 -
C++中vector理解与使用
#include <iostream>#include <vector>#include <typeinfo>#include <type_traits>void vector_print(const std::vector<int> &input){ for (auto i : input) { std::cout << i << " "; } std::cout << "\n"原创 2022-01-11 17:37:07 · 463 阅读 · 0 评论 -
C++多维数组的理解与元素遍历
#include<iostream>#include<typeinfo>using arr1d = int[4];//一维数组的类型别名int main(){ //多维数组初始化 int a0[2][2] = { 1,2,3,4}; // int[2][2]类型 int a[2][6] = { { 1,2,3,4,5,6 },{ 7,8,9,10,11,12 } }; // int[2][6]类型 int b[2][3] = {};// int b[2][3] =原创 2022-01-10 00:48:33 · 396 阅读 · 0 评论 -
C++数组中指针用法与元素遍历
#include<iostream>int main(){ int b[3] = { 5,6,7 }; //int[3]类型 auto& c = b;//int(&)[3] 数组别名,避免隐式转换成数组指针 auto d = b;//int* 数组指针,发生隐式转换,部分信息丢失 //获得数组开头结尾的指针 //std::begin(b)与 std::cbegin(b)的区别: std::begin(b)-->int* std::cbegin(b)--原创 2022-01-07 22:34:55 · 851 阅读 · 0 评论 -
C++数组外部调用与数组引用
需要外部调用的文件test.cpp文件int a[5] = { 1,2,3,4,5 };在使用typeid查看类型名称时候,发现typeid显示的类型名称不准确;建议还是使用std::is_same_v<decltype(d), int*>方法。主文件main.cpp#include<iostream>#include<type_traits>#include<typeinfo>//外部使用test.cpp中的aextern int a[原创 2022-01-07 20:59:04 · 1010 阅读 · 0 评论 -
C++理解数组的元素访问
#include<iostream>#include<type_traits>int main(){ int a[3] = { 0,1,2 }; auto b = a; //数组退化为指针 // b类型为指针 std::cout << std::is_same_v<decltype(b), int*> << std::endl; //数组的元素访问 a[x] —> *((a)+(x)) std::cout原创 2022-01-05 00:38:36 · 647 阅读 · 4 评论 -
C++中指针数组、数组的指针及数组的引用
#include<iostream>#include<type_traits>#include<typeinfo>void arr_print(int arr[], int len){ for (int i = 0; i < len; i++) { std::cout << arr[i] << " "; } std::cout << "\n";}int main(){ int x1(0), x2(1原创 2022-01-04 23:43:55 · 448 阅读 · 0 评论 -
C++数组类型与数组初始化
#include<iostream>#include<type_traits>#include<typeinfo>int a0[3];//全局变量,省略初始化为0void arr_print(int arr[], int len){ for (int i = 0; i < len; i++) { std::cout << arr[i]<<" "; } std::cout << "\n";}int ma原创 2022-01-04 00:56:15 · 266 阅读 · 0 评论 -
char*引发的一些错误
首先了解一下char* 和 char[]区别,这篇文章【C/C++】对char* 和 char[]区别的一些理解https://blog.csdn.net/u012611878/article/details/78291036写的很好,推荐看看。在VS2019中,原来错误的代码#include <iostream>class Student {private: int m_number; char* m_name;public: Student(int number,co原创 2022-01-03 21:47:07 · 1564 阅读 · 0 评论 -
随机生成加减乘除习题
随机生成加减乘除习题#include <iostream>#include <cstdlib>#include <cmath>#include <ctime> class MathCal {public: int number_error=0;//答错题目数量 float score=100;//总分数 float arr_x[101], arr_y[101];//生成的x,y char arr_sign[101];//+-*/符号 f原创 2022-01-03 17:32:14 · 1199 阅读 · 0 评论 -
C++推荐书目与网站
C++推荐书目基础《C++ Primer》,Stanley B. Lippman 等著,王刚、杨巨峰等译进阶《Effective C++》,Scott Meyers 著,侯捷译。《More Effective C++》,Scott Meyers 著,侯捷译。《Effective Modern C++》,Scott Meyers 著,高博译。《深度探索 C++对象模型》,Stanley B. Lippman 著,侯捷译。STL 使用《Effective STL》,Scott Meyers转载 2021-12-26 12:58:45 · 285 阅读 · 0 评论 -
C++基础入门
文章目录C++基础入门1 C++初识1.1 第一个C++程序1.1.1 创建项目1.1.2 创建文件1.1.3 编写代码1.1.4 运行程序1.2 注释1.3 变量1.4 常量1.5 关键字1.6 标识符命名规则2 数据类型2.1 整型2.2 sizeof关键字2.3 实型(浮点型)2.4 字符型2.5 转义字符2.6 字符串型2.7 布尔类型 bool2.8 数据的输入3 运算符3.1 算术运算符3.2 赋值运算符3.3 比较运算符3.4 逻辑运算符4 程序流程结构4.1 选择结构4.1.1 if语句转载 2021-12-25 14:13:13 · 182 阅读 · 0 评论 -
在Visual Studio 2019 搭建 QGIS3.22 二次开发环境
原创 2021-09-07 14:21:08 · 1285 阅读 · 0 评论 -
C++语言程序设计基础笔记(实例41-50)指针
实例41:通过指针变量存取变量值#include<iostream>using namespace std;int main(){ int a, * p1; double b, * p2; char c, * p3; p1 = &a; p2 = &b; p3 = &c; *p1 = 10; *p2 = 11.2; *p3 = 'A'; cout << a <<原创 2021-09-01 15:25:42 · 214 阅读 · 0 评论 -
NumCpp基础教程(上)
文章目录NumCPP基础教程(上)1. 矩阵初始化2.切片与广播3.随机模块4.拼接5.对角线、上三角下三角和翻转7.遍历8.逻辑NumCPP基础教程(上)NumCpp中的主要数据结构是NdArray。它本质上是一个 2D 数组类,一维数组实现为1xN数组。还有一个DataCube类作为便利容器提供,用于存储2D数组NdArray,但它通过简单容器的用途有限。NumpyNumCppa = np.array([[1, 2], [3, 4], [5, 6]])nc::NdArray&原创 2021-08-30 16:17:38 · 5194 阅读 · 6 评论 -
在VS2019中配置Boost C++、NumCpp、Eigen 和opencv4.3.0库环境
一、Visual Studio 2019(VS2019)安装 Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台,包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.NET Compact Framewor原创 2021-08-22 15:55:10 · 2610 阅读 · 6 评论