C++基础
Qu1et
这个作者很懒,什么都没留下…
展开
-
iniparse 移植问题
ini文件作为一款精简而高效的文件格式一般作为系统配置文件使用,但是平常开发过程中,我 们也可利用其有点使用。iniparse解析库为c库,linux系统可直接使用window上由于没有unistd.h,window与之类似的即window.h其中用到的ssize_t可使用#define ssize_t SSIZE_T 头文件BaseIsd.h如果使用VS,可能由于编译器避免使用旧的接口,所以需要...原创 2018-05-07 18:33:32 · 531 阅读 · 0 评论 -
windows查询服务状态C++
前面blog说过windows(7及以后)中,服务和进程位于不同的session,如何查询服务状态,这里贴出代码 TCHAR szSvcName[] = TEXT("SSIT_Client_Service"); SC_HANDLE schSCManager; SC_HANDLE schService; SERVICE_STATUS_PROCESS ssStatus; DWORD d...原创 2019-08-02 14:07:25 · 1244 阅读 · 0 评论 -
C++ windows 服务Session0穿透
做个服务拉起应用进程的需求,发现进程后台起了,但是没有界面先看这两篇:穿透Session 0 隔离(一)穿透Session 0 隔离(二)说的很清楚,这里不做解释我们这里用C++代码实现HANDLE GetProcessHandle(int ID){ return OpenProcess(PROCESS_ALL_ACCESS, FALSE, ID);}BOOL ...原创 2019-08-01 09:23:28 · 2507 阅读 · 0 评论 -
C++11 chrono时间间隔
C++11之前,往往可以通过clock()来计算时间间隔,但是它的精度ms,一般可以满足,但是C++11提供了更高精度的这里写个简单的类来实现#pragma once#include <chrono>class ElapsedTimer{public: ElapsedTimer() : m_begin(std::chrono::high_resolution_c...原创 2019-07-26 10:32:42 · 3254 阅读 · 0 评论 -
体重指数
分享一个有趣的计算用户体重指数的C++程序,码农在工作中也注意自己的身体用户输入代码char r;do { float TB, IMT; int BB; printf("Body Mass Index (BMI) Calculator\n"); printf("================================\n\n"); printf("BW : Wei...原创 2019-07-01 12:12:06 · 406 阅读 · 0 评论 -
C++ 虚继承
C++中有虚继承和虚函数,这两者也并没有什么关系。虚继承主要解决的问题即多继承产生的二义性。基类只存在一份实例。即菱形继承,参考下图举个例子:基类为动物类,分别派生了陆地动物和水中动物,两栖动物又继承自他们两如果普通继承,两栖动物会对基类中的信息产生二义性,故有了虚继承例如:class Base{ public: int m_dat...原创 2019-07-05 10:08:32 · 151 阅读 · 0 评论 -
C++实现Golang的defer
在golang中有个关键字defer,作用其实就是C++中的析构作用,作为释放资源,但是为什么还要实现它呢?主要就是为了“擦屁股”,避免程序员忘记后续操作。C++类似思想的包括智能指针,自解锁等先贴代码,再说用法class Defer final{public: explicit Defer(std::function<void()> fun) : m_funC...原创 2019-07-02 17:33:24 · 389 阅读 · 0 评论 -
Visual Studio各个版本对C++11支持进度
https://blog.csdn.net/qing666888/article/details/78260923介绍很详细再有官方文档,贴个中文的https://zh.cppreference.com/w/cpp/compiler_support#cpp11转载 2019-07-08 11:37:05 · 15603 阅读 · 0 评论 -
C++实现智能指针
C++11增加了智能指针:shared_ptr、unique_ptr、weak_ptr为了加深理解,自己实现智能指针我们都知道shared_ptr的核心思想通过引用计数来管理内存先实现单个指针的自我管理,看下面template <class T>class Ref{public: Ref() : m_ptr(NULL) { } ...原创 2019-07-02 12:11:15 · 211 阅读 · 0 评论 -
C++类的默认函数
转自:https://www.cnblogs.com/yuwanxian/p/10924835.html在C++中,一个类有八个默认函数:默认构造函数; 默认拷贝构造函数; 默认析构函数; 默认重载赋值运算符函数; 默认重载取址运算符函数; 默认重载取址运算符const函数; 默认移动构造函数(C++11); 默认重载移动赋值操作符函数(C++11)。 只是声明...转载 2019-07-02 09:06:11 · 303 阅读 · 0 评论 -
Traits编程 C++
https://www.cnblogs.com/mangoyuan/p/6446046.html转载 2019-03-21 11:45:45 · 93 阅读 · 0 评论 -
C++ 手写链表
很不错https://www.cnblogs.com/winslam/p/10089004.html转载 2019-03-12 16:14:27 · 1293 阅读 · 0 评论 -
error C2001: newline in constant
这个错误开发中难免会遇到一是可能由于疏忽可能括号、引号等不匹配造成二也是我遇到一个,由于编码方式引起,解决:由于包含汉字,将其文本编码改为utf8 点滴总结为了以后方便...原创 2018-12-25 10:21:30 · 1824 阅读 · 2 评论 -
自动注册的工厂类
一般的工厂类可能涉及到一大堆的switch case,那只能说太low了,其实很多地方都可搜到自动注册的工厂类,但是为了记录一下,再者加深一下印象。class Base{public: Base(){} virtual ~Base(){}};struct factory{ template<typename T> const int Gen...原创 2018-12-13 14:53:54 · 753 阅读 · 0 评论 -
union使用
在can网络中,解析can数据可能最简单的方法就是用union了类struct但又不一样,我们在解析、读取can数据时显得不要太方便可以先看这里用法如下: union un_demo{ struct { unsigned char n1 : 2; unsigned char n2 : 6; unsigned char n3; unsigned char...原创 2018-05-08 09:26:08 · 241 阅读 · 0 评论