![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++积累
CppBlock
这个作者很懒,什么都没留下…
展开
-
二进制数据大小端转换实现
二进制数据大小端转换算法原创 2022-08-01 16:01:54 · 483 阅读 · 0 评论 -
[0,180]范围数值正则表达式匹配
正则表达式匹配数值字符串序列,允许输入如0.00,0.25,80.00,179.00,180。原创 2022-07-21 12:55:22 · 582 阅读 · 0 评论 -
std::string trim函数的一种实现
C++ std::string trim函数的一种实现原创 2022-04-13 17:12:35 · 601 阅读 · 0 评论 -
Qt 程序计时
Qt提供了一个比较方便计算程序耗时的类,使用如下#define PRINT_COST(ElapsedTimer, LastTime, STR) \ do{ \ int ___TMP_INT = ElapsedTimer.elapsed(); \ qDebug() << STR << ___TMP_INT - LastTime << "(" << __原创 2022-01-05 10:02:31 · 717 阅读 · 0 评论 -
基于VTK+ITK的医学影像分割重建实现
软件实现了读取CT影像,矢状面,冠状面,横断面视图显示,以及3D重建之后的视图显示更多内容,请关注微信公众号CppBlock原创 2021-08-28 10:09:14 · 964 阅读 · 0 评论 -
基于BowyerWatson的Delaunay三角化算法实现
实现效果如下图所示:代码:#include<iostream>using namespace std;#include "bowyer_watson.h"#include <sstream>#include <fstream>#include <chrono>#include <armadillo>using namespace std;//function to provide a first-order t原创 2021-07-02 23:50:57 · 1007 阅读 · 1 评论 -
CMake设置运行时文件和库文件路径
对于不同类型的输出文件指定不同的输出路径set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #dll pathset(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) #lib pathset(CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/pdb) #pdb pathadd_library(Shared原创 2021-03-21 11:56:45 · 3672 阅读 · 2 评论 -
QtChart绘制极坐标图参考示例
效果图如下:代码:mCurveData = new QLineSeries(); arma::vec theta; theta.load(xFile.toStdString(), arma::raw_ascii); arma::vec rou; rou.load(yFile.toStdString(), arma::raw_ascii); for (int i = 0; i < theta.size();原创 2021-03-20 15:30:23 · 1758 阅读 · 1 评论 -
QCustomPlot坐标轴反向
下面是效果图参考代码: QString xFile = param["x_data"].toString(); QString yFile = param["y_data"].toString(); qreal xLow = param["x_range_low"].toDouble(); qreal xHigh = param["x_range_high"].toDouble(); qreal yLow = param["y_range_low"].toDou原创 2021-03-20 15:26:54 · 1495 阅读 · 3 评论 -
QCustomPlot绘图示例
ui->widgetBackgroundSound->legend->setVisible(true); QCPGraph* g1 = ui->widgetBackgroundSound->addGraph(); QCPGraph* g2 = ui->widgetBackgroundSound->addGraph(); QCPGraph* g3 = ui->widgetBackgroundSound->addGraph(...原创 2021-03-20 14:24:25 · 252 阅读 · 0 评论 -
Qt QTableWidget控件使用示例
演示QTableWidget控件的初始化、样式设置,添加按钮响应等使用示例窗口示例程序在Table中设置了3列,第一列为Id, 第二列放置Label, 第三列放置删除按钮,此外还增加了开启定时器按钮,表格的第二列会进行定时刷新,以下是另一种显示状态,用来显示随时间变化的信息,可以通过设置label的背景色进行实现更多详细内容,请关注微信公众号:...原创 2021-03-06 10:55:48 · 269 阅读 · 0 评论 -
Correctly set Visual Studio linker flag /SUBSYSTEM in CMAKE
add_executable(${PROJECT_NAME} WIN32 main.cpp)原创 2021-02-19 10:52:22 · 102 阅读 · 0 评论 -
C++ 读取文本文件
#include <fstream>std::string loadFile(const std::string& file){ std::string content; if (!file.empty()) { std::ifstream stream(file); if (!stream.is_open()) { std::cerr << "Failed to open file " <&.原创 2021-02-06 17:51:07 · 454 阅读 · 0 评论 -
Qgis 3.10.6编译设置
原创 2021-01-31 17:14:32 · 72 阅读 · 0 评论 -
Qt应用程序的语言切换
Qt实现软件界面显示不同的语言,是通过加载字库文件实现的,因此有三个对应的问题需要解决: 如何制作字库文件: 创建Qt应用程序后, 在.pro文件中添加一行代码: TRANSLATIONS += qmain_zh.ts 2. 使用QtCreator菜单中的【工具】->外部->Qt语言专家->更新翻译则会自动生成.ts文件,使用Qt Linguist语言家软件打开.ts文件,编辑语言的翻译;如果是在代码中动态设置的文字,在需要被翻译的字符...原创 2020-08-03 11:26:23 · 651 阅读 · 1 评论 -
C++类模板+工厂模式示例
#include <iostream>#include <functional>#include <vector>template<typename T>class Base{public: typedef typename std::vector<std::function<void(const T&)>> FunVct; typedef typename std::vector<T> V.原创 2020-06-18 15:06:09 · 428 阅读 · 0 评论 -
MFC检查目录和拷贝文件
检查目录是否存在CString path = _T("D:\\Test");if (!PathIsDirectory(path)){ CreateDirectory(path, NULL);}拷贝指定的文件(检查是否存在指定的文件,并拷贝到指定的路径):CString source_file = _T("D:\\test.txt");CString dest_file = _T("D::\\Test\\dest.txt");CopyFile(source_file, dest_f原创 2020-06-18 09:54:06 · 197 阅读 · 0 评论 -
使用boost.python连接python与C++
介绍使用boost.python连接python与C++具体实现过程,使用boost.python库可以快速、无缝地将c++类、函数和对象公开给Python,反之亦然,并且它不需要任何特殊的工具——只需要c++编译器。封装C++接口时也无需对C++代码进行改动。因此boost.python是向Python公开第三方库的理想选择。该库使用了高级元编程技术,简化了面向用户的语法,因此包装代码看起来就像一种声明式接口定义语言(IDL);https://mp.weixin.qq.com/s?__biz=MzU0原创 2020-05-23 20:04:31 · 147 阅读 · 0 评论 -
boost库的编译安装
准备工作 下载boost库的最新代码(https://www.boost.org/),这里下载的是boost.1.73.0; 解压代码到指定目录,这里存放到D:\Programs\boost_1_73_0; 打开MSVS的命令行工具,并切换至D:\Programs\boost_1_73_0; 在命令行中输入bootstrap,运行后会生成b2.exe,该工具将用于编译boost代码库; 编译boost 在打开的命令行中输入以下命令 //编译boost静态库原创 2020-05-17 19:23:26 · 564 阅读 · 0 评论 -
C++正则表达式匹配浮点数
由于使用C++通过正则表达式提取浮点数的例子较少,这里提供一种在一段文字中提取浮点数的代码,测试效果良好#include <iostream>#include <regex>#include <string>int main(){ std::regex reg("-?(([1-9]\\d*\\.\\d*)|(0\\.\\d*[1-9]\\d*)...原创 2020-01-02 17:10:42 · 2349 阅读 · 1 评论 -
C++导出标准库模板类的实例化
在有些情况需要导出模板类的实例化,否则会产生类似以下的Warningwarning C4251: “XXX”: class“std::map<_Kty,_Ty>”需要有 dll 接口由 class“XXX”的客户端使用 warning C4251: “XXX”: class“std::vector<_Kty,_Ty>”需要有 dll 接口由 class“XXX”的...原创 2019-07-13 15:58:59 · 848 阅读 · 0 评论 -
C++库设计之头文件目录结构
从一个简单的开源库开始了解下设计C++库时头文件的目录结构,之所以讨论这个问题是想把代码在设计之初就能够有清晰的目录结构,另一个方面能够便于用户的调用,而不需要对我们所设计的库添加各种头文件的引用。stxxl也许大多数熟悉C++编程的人并不熟悉,但是标准库STL确是大多数C++开发者熟知的,尤其是对于标准库中的std::vector,因为它实在是太好用了。但是这么好用的东西也是有它自身的限制的...原创 2019-06-28 21:01:30 · 1018 阅读 · 0 评论 -
C++ 运算符重载技术示例
#include <iostream>class Point2D;class Vector2D;class Point2D{ friend inline Point2D operator + (const Point2D &p, const Vector2D &v); friend inline std::ostream & operator&l...原创 2019-07-13 10:58:44 · 126 阅读 · 0 评论