![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
win linux 下 c++ 编程
ieg123
在成为大佬的路上
展开
-
c++ thread_local+std::async
thread_local 不要用,有bug,会照成内存泄漏。请使用其他方式代替原创 2021-04-26 19:36:48 · 173 阅读 · 1 评论 -
通过权重 随机选择对象
写项目需要用到根据权重,随机取出一个对象。在网上没查到比较好的方法。后来想到可以根据map容器,通过重载运算符。达到此效果,因无需全部遍历,效率不会太低。#include <iostream>#include <map>#include <string>// 范围 map 键值template<typename _T>class RangeKey{public: RangeKey() { m_begin = 0; m_.原创 2020-05-24 02:54:39 · 605 阅读 · 0 评论 -
c++ 高效 十六进制、十进制 互转
文件 base16.h#pragma once#include <string>// 用于16进制转换namespace base16{ void ToString(const void* data, const int size, std::string& back_str); void ToBase16(const std::string& ba...原创 2020-04-07 01:48:13 · 607 阅读 · 0 评论 -
c++设计模式
1.单例设计模式(singleton)整个进程,仅能创建一个类变量class A{private: A() {} //析构函数私有化 static A *m_pA; //单例记录变量 class Adispoes //m_pA 自动释放变量 { public: ~Adispoes() //析构函数自动释放 { if (A::m_pA) //单例已创建 ...原创 2019-09-16 23:06:39 · 180 阅读 · 0 评论 -
c++ protobuf 编译、使用
安装cmake环境变量添加Path=cmake bin文件夹目录下载解压 protobuf编译protobuf这里以编译32位的debug版本为例,如果是release版本,可以将各条命令中的debug路径修改为release路径,最关键的一点是将第5条命令中的 “-DCMAKE_BUILD_TYPE=Debug” 修改为 “-DCMAKE_BUILD_TYPE=Release...转载 2019-10-12 16:01:11 · 1765 阅读 · 0 评论 -
c++ 正则表达式
头文件#include <regex>1.常用表达式1.邮箱格式检查"^[a-zA-Z0-9_]+@[a-zA-Z0-9_]+(\\.[a-zA-Z0-9_]+)+$"2.函数regex_match std::regex re("[a-zA-Z0-9_]+@[a-zA-Z0-9_]+(\\.[a-zA-Z0-9_]+)+");//邮箱验证表达...原创 2019-10-10 14:43:49 · 146 阅读 · 0 评论 -
c++ 操作 mysql
演示表mysql -u root -p 123456select * from mysql_test.test01;+---------+-----------+----------+| test_id | test_name | test_sex |+---------+-----------+----------+| 0 | XiaoMing | 0 ...原创 2019-09-26 01:55:50 · 235 阅读 · 0 评论 -
c++ 进程锁 WaitForSingleObject emutex
1.函数CreateMutex()//创建一个互斥体OpenMutex()//打开一个互斥体WaitForSingleObject()//尝试加锁ReleaseMutex()//解锁2.代码a) 文件 emutex.h#include <windows.h>//进程锁,不支持 linuxclass emutex{public: bool creat...原创 2019-09-21 01:54:13 · 1560 阅读 · 0 评论 -
c++ 线程锁
1.互斥锁头文件#include <mutex>操作函数mutex::lock();//锁mutex::unlock();//解锁lock_guardunique_lock自动加解锁原创 2019-09-16 23:33:21 · 498 阅读 · 0 评论 -
冒泡排序 和 快速排序 算法源码
冒泡算法void bubble_sort(int *arr, int *len){/*冒泡排序*/ if (len == arr)return; int *_clen = len; int *_pl, *_pr;//指针1 指针2 int _c; while (1) { /*移动指针到数组头*/ _pl = arr; _pr = arr + 1; do { ...原创 2019-08-08 16:24:52 · 76 阅读 · 0 评论 -
动态调用dll
HMODULE hMoudle = LoadLibrary(L"sort_01.dll"); //载入dll if (hMoudle == NULL || INVALID_HANDLE_VALUE == hMoudle) { FreeLibrary(hMoudle); //释放dll printf("error!\n"); return -1; } double a = 5...转载 2019-08-09 11:48:06 · 165 阅读 · 0 评论 -
c++ 文件操作
1.根据需要引用头文件#include <fstream> //读写文件#include <ofstream> //写文件#include <ifstream> //读文件 2.操作函数fopen();//打开文件 “r,w,b,+”fread();//读文件数据fwrite();//写文件数据fskeep();/...原创 2019-09-10 00:25:09 · 383 阅读 · 1 评论 -
c++ 控制台程序后台运行
下面代码加到 main.cpp 前#pragma comment( linker, "/subsystem:windows /entry:mainCRTStartup" )转载 2019-09-07 09:54:25 · 4166 阅读 · 1 评论 -
gcc 更新c++11特性
下载安装下载说明因本次用到 gcc 4.9.4版本,故以该版本为例下载gcc合集包含1.gmp-6.1.2.tar.bz22.mpfr-4.0.1.tar.gz3.mpc-1.1.0.tar.gz4.isl-0.20.tar.gz5.gcc-4.9.4.tar.gz需顺序安装1.下载解压gcc 合集wget http://data.ieg123.co...原创 2019-08-13 01:36:14 · 385 阅读 · 0 评论 -
c++ 编写 dll 供易语言调用
//易语言字节集传送到函数里,然后返回到两个变量,第一个参数是传送进去的字节集,在易语言调式模式下运行会出现数据乱码,不知道为什么,编译后没事int _stdcall jie(const char * str, char * str1,char * str2){ string a =str; int len=a.size()...转载 2019-08-09 01:03:45 · 1503 阅读 · 0 评论