C++编程
C++语言的常用用法
奋斗的大庆
勤劳一日,可得一夜安眠;勤劳一生,可得幸福长眠;只有尝过苦的滋味才会更加珍惜甜
展开
-
读取txt数据文件算法
1.istringstream【C++】使用istringstream根据分隔符分割字符串 - Flix - 博客园istream& getline ( istream &is , string &str , char delim );第一个参数为 is 表示一个 istringstream,第二个参数表示我们要将字符串分割的结果通过 getline 逐个放入 str 中,第三个参数为分隔符,注意分隔符只能为字符型,默认的是空格分隔,如果是逗分割,即',',而不是字符原创 2022-05-31 10:49:03 · 823 阅读 · 0 评论 -
boost::filesystem 由相对路径创建文件
#include <pcl/io/pcd_io.h>#include <boost/filesystem.hpp>#include <iostream>using namespace std;int main(int argc, char* argv[]){ std::string str = "D:/repo/CompoundGrinding/x64/Release/Data/GlobalRubber_defect.pcd"; pcl::PointC..原创 2022-04-12 10:13:29 · 1956 阅读 · 1 评论 -
VS的RelWithDebInfo模式设置
debug用release进行程序调试C++>General->Debug Information Format->Program Database (/Zi) C++>Optimization->Optimization->Disabled (/Od) Linker->Debugging->Generate Debug Info->Yes (/DEBUG) Linker->Debugging->Generate Program .原创 2022-01-11 10:23:41 · 2032 阅读 · 0 评论 -
【C++】字符串printf格式化输出
1.转换说明符 %a(%A) 浮点数、十六进制数字和p-(P-)记数法(C99) %c 字符 %d 有符号十进制整数 %f 浮点数(包括float和double) %e(%E) 浮点数指数输出[e-(E-)记数法] %g(%G) 浮点数不显无意义的零"0" %i 有符号十进制整数(与%d相同) %u 无符号十进...转载 2021-12-24 19:04:36 · 3711 阅读 · 0 评论 -
vs添加dll动态库的方法
无论是设置DLL目录,或者是Lib目录,亦或是头文件的目录,都有release版本和debug版本的区分,每种版本的设置都是独立的,要分别设置。一、VS中添加LIb库及头文件(外部依赖项)的步骤:1、添加工程的头文件目录:工程---属性---配置属性---c/c++---常规---附加包含目录:加上头文件存放目录。2、添加文件引用的lib静态库路径:工程---属性---配置属性---链接器---常规---附加库目录:加上lib文件存放目录。 然后添加工程引用的lib文件名:工程...原创 2021-12-15 10:07:48 · 17102 阅读 · 1 评论 -
ifstream 文件存在的判断
文件存在的判断_yishang44的博客-CSDN博客_expect 判断文件是否存在原创 2021-12-13 14:07:50 · 1443 阅读 · 0 评论 -
vector:emplace_back与push_back区别
push_back()向容器中加入一个右值元素(临时对象)时,首先会调用构造函数构造这个临时对象,然后需要调用拷贝构造函数将这个临时对象放入容器中。原来的临时变量释放。这样造成的问题就是临时变量申请资源的浪费。引入了右值引用,转移构造函数后,push_back()右值时就会调用构造函数和转移构造函数,如果可以在插入的时候直接构造,就只需要构造一次即可。这就是c++11 新加的emplace_back。emplace_back造成的引用失效实战c++中的vector系列--empl.原创 2021-12-12 19:08:44 · 637 阅读 · 0 评论 -
DBL_EPSILON和 FLT_EPSILON
DBL_EPSILON和 FLT_EPSILON主要用于双精度和单精度的比较当中,判断double或float变量的值趋0最小的判断值:double b = sin(M_PI / 6.0);if (fabs(b - 0.5) < DBL_EPSILON) return;float a,b;if (fabs(b - a) < FLT_EPSILON) x++;...原创 2021-12-12 18:54:47 · 2287 阅读 · 0 评论 -
installshield2020项目部署打包详细教程
https://blog.csdn.net/songisgood/article/details/114693794原创 2021-05-06 11:45:50 · 2945 阅读 · 0 评论 -
windows 10上使用vscode编译运行和调试C/C++
https://zhuanlan.zhihu.com/p/77645306原创 2021-04-21 11:27:08 · 106 阅读 · 0 评论 -
主函数里面调用了模板类的函数,出现无法解析外部符号问题
1.问题原因:https://blog.csdn.net/qq_41884002/article/details/99816073简而言之,在C++中由于模板类的自身不确定性,当一个模板没有被调用时,它就不会被具体化出来,也就是说在一个编译单元里,如果使用模板类的函数没有被其他函数调用的话,是没有生成二进制代码的,因为编译器并不知道这个函数是属于哪个类型(int,float,等等),所以无法给这个函数分配合适的内存空间,只有当其他函数调用模板类的函数时,才能确定类型,模板类才能被具现化。2.解决原创 2021-03-22 12:12:34 · 772 阅读 · 0 评论 -
为什么delete指针还能被赋值
将指针p删除了,但是在监视窗口中p仍然存在,只是*p所指向的值不再是原来的3了,而是一个随机数。这里就说明了一个非常重要的概念:我们在删除一个指针之后,编译器只会释放该指针所指向的内存空间,而不会删除这个指针本身。实际意思是删除了p所指的目标(变量或对象),释放了它所占的堆空间,而不是删除p本身(指针p本身并没有撤销,它自己仍然存在,该指针所占内存空间并未释放,指针p的真正释放是随着函数调用的结束而消失),释放堆空间后,p成了"空指针"。如果我们在delete p后没有进行指针p的制空(p=NULL)的话,原创 2021-02-25 16:28:15 · 899 阅读 · 0 评论 -
数组地址加一详解
int a[5]={1,2,3,4,5};//int *a=new int[5];int *ptr=(int*)(&a+1); //&a+1相当于加了数组的一个单位(也就是一行),即&a[5]printf("%d", *(p-1)) //指针p-1相当于前移一个元素,输出为5a是数组首地址a[0]的地址,&a是对象(数组)首地址;a+1,表示指针指向下一个元素a[1],这是因为系统在内存中为数组分配一个连续.原创 2021-01-29 10:03:01 · 7626 阅读 · 4 评论 -
VS的RelWithDebInfo模式
Visual Studio之RelWithDebInfo模式,“被忽视”的编译模式https://blog.csdn.net/inter_peng/article/details/53933206VS如何新建RelWithDebInfo模式https://blog.csdn.net/jacken123456/article/details/109645242原创 2021-01-26 16:17:38 · 695 阅读 · 0 评论 -
【QtModbus】上位机与S7-1200PLC ModbusTCP通信
http://www.qtcn.org/bbs/read-htm-tid-68184.htmlhttps://blog.csdn.net/elikang/article/details/79043464【Qt多线程中定时读取Modbus服务器 寄存器以及读写,另一个线程点击刷新系统时间 - DFrY的博客 - CSDN博客】https://blog.csdn.net/dfy1407/article/details/88229807【CSDN下载-IT资源大本营】https://download.csd转载 2020-12-04 16:41:46 · 5762 阅读 · 0 评论 -
系统计数函数
1 时钟对于标准库来说,时钟就是时间信息源。具体来说,时钟是提供了四种信息的类当前时间:如std::chrono::system_clock::now()表示时间值的类型:std::chrono::time_point时钟节拍(一个嘀嗒的周期):一般一秒有25个节拍,一个周期则为std::ratio通过时钟节拍确定时钟是否稳定(steady,匀速):std::chrono::steady_clock::is_steady(稳定时钟,代表系统时钟的真实时间)、std::chrono::system_原创 2020-12-28 10:21:28 · 611 阅读 · 0 评论 -
C++11 lambda函数
https://www.cnblogs.com/WindSun/p/11182276.html原创 2020-12-23 09:40:09 · 942 阅读 · 0 评论 -
C语言格式化输出
转载原文地址:http://happyliu.blog.51cto.com/501986/1621709函数说明在gcc编程中,我们常用到的字符格式化输出函数是printf的,实际上gcc继承了C语言处理字符具有强大功能的风格,它提供了一系列的格式化输出函数,主要存在两个库函数文件stdio.h/ stdarg.h中,具体函数如下:#include <stdio.h>printf, int printf(const char *format, …);fprintf, int fprin转载 2020-11-26 16:01:07 · 779 阅读 · 0 评论 -
glog日志库在window上的安装和使用
编译1.通过git从github拉取最新版本代码:git clone https://github.com/google/glog.git2.运行完cmake命令后,会生成glog.sln文件,双击打开,它便是VS解决方案。然后直接运行编译,这样会直接生成lib静态库。为了生成dll动态库,我们需要使用cmake-gui,勾选上"BUILD_SHARED_LIBS"选项,这样生成的glo...原创 2019-11-26 20:17:40 · 1023 阅读 · 0 评论