C/C++
etc9527
这个作者很懒,什么都没留下…
展开
-
使用win api 选择文件夹
code:#include <iostream>#include <string>#include <Windows.h>#include <ShlObj.h>#include <stdio.h>using namespace std;static void open_folder_browser(string& path);int main(){ cout << "hello, world!原创 2021-05-28 11:44:59 · 768 阅读 · 0 评论 -
RSA算法详解及C语言实现
RSA算法详解及C语言实现原创 2016-11-07 16:28:45 · 10936 阅读 · 0 评论 -
C++11 静态断言—static_assert 介绍---链接
https://www.cnblogs.com/Braveliu/p/12220769.html原创 2021-04-13 10:31:52 · 134 阅读 · 0 评论 -
使用移位和加法运算替代乘法运算
因为工作中遇到频繁操作乘法运算导致用时过多的情况,特找了下替代方案,但实测效果并不理想,暂做记录。#include <stdio.h>#include <stdlib.h>#include <stdint.h>#include <time.h>#define MAX_NM(a,b) (a > b? a: b)#define MIN_NM(a,b) (a < b? a: b)#define REPEAT_NUM 1...原创 2021-02-04 10:01:39 · 1807 阅读 · 1 评论 -
对c++ mutable一个比较好的说明
转自:https://www.zhihu.com/question/64969053/answer/226142449摘自知乎里一个答复。const意思是“这个函数不修改对象内部状态”。为了保证这一点,编译器也会主动替你检查,确保你没有修改对象成员变量——否则内部状态就变了。mutable意思是“这个成员变量不算对象内部状态”。比如,你搞了个变量,用来统计某个对象的访问次数(比如供debug用)。它变成什么显然并不影响对象功用,但编译器并不知道:它仍然会阻止一个声明为cons..转载 2021-02-01 16:04:07 · 123 阅读 · 1 评论 -
vs2019不生成pdb文件的配置
项目-->属性-->C/C++-->所有选项-->调试信息格式,选择“无”,重新编译即可。原创 2020-12-30 15:58:34 · 5665 阅读 · 2 评论 -
c实现极简单的正则表达式解析
c实现极简单的正则表达式解析define 头文件///////////////////////////////////define 头文件///////////////////////////////////#ifndef _DEFINE_H_#define _DEFINE_H_#define REGEX_LENGTH 40//typedef unsigned cha原创 2015-08-19 11:10:02 · 3390 阅读 · 0 评论 -
c/c++ 中连续两个叹号的使用
最近在阅读别人的程序时遇到使用连续两个叹号(!!)的情况,经过查阅资料及测试后得到结论如下:int v = !!statement;如果statement是【整形数据0】则 v = 0,如果statement是【非0的整形数据】则 v = 1 。测试代码如下:#include #include using namespace std;static int func(i原创 2018-01-30 16:41:39 · 6073 阅读 · 0 评论 -
c++ 11 多线线程系列----mutex
转自:http://blog.csdn.net/chenxun_2010/article/details/49786263一、mutex头文件的介绍Mutex 又称互斥量,C++ 11中与 Mutex 相关的类(包括锁类型)和函数都声明在 <mutex> 头文件中,所以如果你需要使用 std::mutex,就必须包含 <mutex> 头文件。规范下面是mutex头文件中内容...转载 2018-02-26 20:58:33 · 539 阅读 · 0 评论 -
protobuf学习 - 入门
转自:https://www.cnblogs.com/autyinjing/p/6495103.html从公司的项目源码中看到了这个东西,觉得挺好用的,写篇博客做下小总结。下面的操作以C++为编程语言,protoc的版本为libprotoc 3.2.0。一、Protobuf? 1. 是什么? Google Protocol Buffer(简称 Protobuf)是一种轻便高效的结构化数据存储格...转载 2018-02-12 17:01:18 · 267 阅读 · 0 评论 -
C++纯虚函数
转自:http://blog.csdn.net/qq_36221862/article/details/61413619在成员函数的形参后面写上=0,则成员函数为纯虚函数。纯虚函数声明: virtual 函数类型 函数名 (参数表列) = 0;class Person{ virtual void Display () = 0; // 纯虚函数protected : string _...转载 2018-02-24 16:00:37 · 213 阅读 · 0 评论 -
编码高层指导性原则
转自:http://mindhacks.cn/2012/08/27/modern-cpp-practices/代码质量在各种长期和短期压力之下写代码,当然代码质量是重中之重,尤其是对于C++代码,否则各种积累的技术债会越压越重。对于创新项目而言,代码基处于不停的演化当中,一开始的时候什么都不是,就是一个最简单的骨架,然后逐渐出现一点prototype的样子,随着不断的加进新的feature,再不断...转载 2018-04-13 15:43:52 · 204 阅读 · 0 评论 -
C++引用的本质
转自:https://www.cnblogs.com/yr-linux/p/5522047.html引用为变量提供别名,最重要的用途之一是在给函数传递参数方面注意:引用作为函数的形参时不需要初始化! 引用作为变量的别名而存在,因此有一些场合可以代替指针引用相当于指针来说具有更好的可读性和使用性 swap.cpp#include<stdio.h>...转载 2018-11-02 18:26:45 · 254 阅读 · 0 评论 -
C++11智能指针之shared_ptr
shared_ptr类似 Objective-C中的【引用概念】,这里分别测试了【引用增加】、【引用撤销】、【唯一性检查】,这里测试动作名称是自己随意叫的,现贴出测试代码及输出结果:测试代码:#include #include #include // need include this header fileint main(void){ std::shared_ptr原创 2018-01-26 17:11:11 · 183 阅读 · 0 评论 -
read函数
转自:https://baike.baidu.com/item/read/17137117#viewPageContentLinux C函数编辑read(由已打开的文件读取数据)相关函数readdir,write,fcntl,close,lseek,readlink,fread表头文件#include定义函数ssize_t转载 2018-01-25 16:49:53 · 1008 阅读 · 0 评论 -
HTTP协议详解(版本二)
HTTP协议详解转载 2015-09-29 17:38:00 · 340 阅读 · 0 评论 -
HTTP协议详解(版本一)
HTTP协议详解转载 2015-09-29 17:31:20 · 5034 阅读 · 1 评论 -
异步调用与多线程的区别
异步调用与多线程的区别转载 2015-10-09 15:47:10 · 6681 阅读 · 0 评论 -
进程与线程的一个简单解释
进程与线程转载 2015-09-22 16:12:37 · 267 阅读 · 0 评论 -
简单理解Socket
简单理解Socket转载 2015-10-14 15:53:44 · 322 阅读 · 0 评论 -
TCP/IP、Http、Socket的区别
TCP/IP、Http、Socket的区别转载 2015-10-14 15:58:59 · 310 阅读 · 0 评论 -
strindex实现
strindex实现原创 2016-02-01 17:03:29 · 1348 阅读 · 0 评论 -
C语言结构体的字节对齐原则
C语言结构体的字节对齐原则转载 2017-12-02 11:43:50 · 1159 阅读 · 0 评论 -
C++ explicit关键字详解
转自:https://www.cnblogs.com/ymy124/p/3632634.html首先, C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式).那么显示声明的构造函数和隐式声明的有什么转载 2018-01-23 10:20:16 · 208 阅读 · 0 评论 -
四种强制类型转换的总结(const_cast、static_cast、dynamic_cast、reinterpreter_cast)
转自:http://blog.csdn.net/youyoulg/article/details/6843332C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是: TYPE b = (TYPE)a C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。 const_cast,字面上理解就是去转载 2018-01-23 17:55:25 · 240 阅读 · 0 评论 -
C++11 新特性:显式 override 和 final
转自:https://www.devbean.net/2012/05/cpp11-override-final/2012 年 3 月 22 日,GCC 4.7.0 正式发布。从这个版本开始,GCC 增加了许多新的 C++ 11 的特性。今天我们要介绍的是其中的一个特性:显式的使用 final和override关键字。先来看下面的例子:struct B1 final { };转载 2018-01-25 15:33:15 · 296 阅读 · 0 评论 -
c/c++ 学习-open 函数
转自:http://blog.csdn.net/dong_007_007/article/details/16269021open 函数用于打开和创建文件。以下是 open 函数的简单描述 #include int open(const char *pathname, int oflag, ... /* mode_t mode */);转载 2018-01-25 16:35:13 · 20689 阅读 · 0 评论 -
lseek函数
转自:https://baike.baidu.com/item/lseek/6385407?fr=aladdin相关函数dup,open,fseek表头文件#include#include定义函数off_t lseek(int filde,off_t offset ,int whence);转载 2018-01-25 16:44:06 · 432 阅读 · 0 评论 -
ctype.h
转自:http://blog.chinaunix.net/uid-54182-id-2386112.htmlctype.h是C标准函数库中的头文件,定义了一批C语言字符分类函数(C character classification functions),用于测试字符是否属于特定的字符类别,如字母字符、控制字符等等。既支持单字节(Byte)字符,也支持宽字符。转载 2015-08-19 09:59:23 · 731 阅读 · 0 评论