![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
文章平均质量分 67
lz_煜
这个作者很懒,什么都没留下…
展开
-
前置声明介绍
c++ 前置声明原创 2022-02-18 17:40:53 · 1143 阅读 · 0 评论 -
对象模型—02 构造函数语义
什么情况下编译器会生成一个 “合成默认构造函数”1)编译器生成“合成默认构造函数”的第一种情况class MATX{public: MATX() //默认构造函数 { cout << "goodHAHAHAHA" << endl; }};class MBTX{public: int m_i; int m_j; MATX ma; //类类型成员变量 void funct() { cout << "IAmVeryGood" <原创 2021-08-14 11:18:15 · 69 阅读 · 0 评论 -
VSCode的C++环境搭建,多文件编译,json调试配置(Windows篇)
总体认识vscode中有两个配置文件非常关键,launch.json、tasks.json,要想理解这两个文件的作用,首先需要理解• 一个C++是如何被编译的;• 如何用CMake构建多文件大型程序。launch.json是调试运行一个已经编译好的程序,而调试运行的前提是编译整个项目,这正是tasks.json的任务,tasks.json调用CMake命令才能编译多文件项目,下面具体来看实操演练1)搭建环境:windows桌面点击shit+右击 Windows PowerShell输入gc原创 2021-07-24 17:06:08 · 1034 阅读 · 0 评论 -
C++ 集合使用的相关总结
C++ 集合使用的相关总结1)C++ STL vector添加元素(push_back()和emplace_back())详解参考链接:vector添加元素(push_back()和emplace_back())详解 在 STL vector容器详解》一节中,已经给大家列出了 vector 容器提供的所有成员函数,在这些成员函数中,可以用来给容器中添加元素的函数有 2 个,分别是 push_back() 和 emplace_back() 函数。有读者可能认为还有 insert() 和原创 2021-07-22 14:14:43 · 252 阅读 · 0 评论 -
静态库与动态库使用01
参考链接:lib 和 dll 的区别、生成以及使用详解lib和dll的区别静态库:在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中,这种库称为静态库,其特点是可执行文件中包含了库代码的一份完整拷贝;缺点就是被多次使用就会有多份冗余拷贝。即静态库中的指令都全部被直接包含在最终生成的 exe 文件中了。在vs中新建生成静态库的工程,编译生成成功后,只产生一个.lib文件动态库:动态链接库是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件。动态链接提供了一种方法,使原创 2021-02-23 11:28:28 · 88 阅读 · 0 评论 -
静态库与动态库使用——显示调用动态链接
1)案例 如何显示的调用动态链接库(1) 建立项目test100(2) 写头文件source.h 和源文件 source.cppsource.h#pragma once#ifdef Test_EXPORTS#define MIPETAIAlgorithm_API __declspec(dllexport)#else#define MIPETAlAlgorithm_API __declspec(dllimport)#endif#include <iostream>#in原创 2021-02-23 11:18:46 · 177 阅读 · 0 评论 -
c++_零碎知识点
(1) memmove()添加链接描述原型:extern void *memmove(void *dest, const void *src, unsigned int count); 用法:#include <string.h> 功能:由src所指内存区域复制count个字节到dest所指内存区域。 说明:src和dest所指内存区域可以重叠,但复制后dest内容会被更改。函数返回指向dest的指针。 描述 void *memmove(void *str1, const vo原创 2020-08-27 16:39:28 · 87 阅读 · 0 评论 -
文件读写_01
将文件内容读取到字符数组中 std::string CRawDataMaintainerContainee::GetAPETSoftwareVersion() { std::string APETVersionPath = "D:\\UIH\\PT_CurrentLabelName.txt"; char cAPETSoftwareVersion[256]={0}; std::fstream file; file.open(APETVersionPath, std原创 2020-08-24 19:21:54 · 116 阅读 · 0 评论 -
定时相关功能(c++)
(1)隔多长时间执行某段函数//(1)引入头文件#include <boost/date_time/posix_time/posix_time.hpp>//(2)定义变量 ptime m_send2dmaplastTime;ptime m_send2dmapcurrentTime;m_send2dmaplastTime = microsec_clock::local_time(); time_duration interval_td(0, 0, 10, 0); // 10s原创 2020-08-24 17:20:08 · 111 阅读 · 0 评论 -
filesystem操作
判断文件是否存在/返回文件大小 bool CSystemHelper::IsPathExist(const std::string& sPath) { try { boost::filesystem::path path(sPath); return boost::filesystem::exists(path); } catch (...) { return false; } } std::string CSystemHelper::GetPar原创 2020-08-24 14:27:39 · 739 阅读 · 1 评论 -
C++_800_0605_互斥量死锁问题详解
#include<iostream>#include<boost/thread/thread.hpp>#include<mutex>//保护共享数据,操作时,某个线程用代码把共享数据锁住,操作数据,解锁。 //其他想操作共享数据的线程必须等待解锁//互斥量//一:互斥量(mutex)的基本概念//互斥量是个类对象。理解成一把锁,多个线程尝试用lock()成员函数来加锁,只有一个线程能锁定成功(成功的标志是lock()函数返回) //如原创 2020-08-06 11:17:33 · 211 阅读 · 0 评论 -
智能指针
智能指针的初始化//智能指针的数组的初始化赋予0//reset() 重新绑定对象,原来的对象会被释放掉std::shared_ptr<int64_t> m_spAxialRawCountP_D; m_spAxialRawCountP_D.reset(new int64_t[m_iSingleAxialCrystalNum](), std::default_delete<int64_t[]>()); // axialCrystalNum = 84memset(m_spA原创 2020-07-17 17:58:22 · 108 阅读 · 0 评论 -
虚函数和纯虚函数
Human.h#ifndef Human_H#define Human_H#include <iostream>class Human{public: Human(); virtual void eat(); void funcHuman();};#endifMen.h#ifndef Men_H#define Men_H#include <iostream>#include "Human.h"class Men:public..原创 2020-07-08 15:41:45 · 132 阅读 · 0 评论 -
03_03_常量成员函数、mutable、this指针
prohect03.cpp#include <iostream>#include "Time.h"using namespace std;//普通函数,后面加onst是编译错误的。需要在成员函数后面加const(即类的成员函数)//因为const放在成员函数后,表示不能修改该对象的成员变量//void ptfunc() const //{// return ;//}//静态成员变量定义(分配内存)int Time::mystatic=15;//可以不给初值,那么系统默原创 2020-07-07 13:39:10 · 150 阅读 · 0 评论