- 博客(14)
- 资源 (21)
- 收藏
- 关注
原创 std::exception的使用
std::exception:标准异常类的基类,其类的声明在头文件<exception>中。所有标准库的异常类均继承于此类,因此通过引用类型可以捕获所有标准异常。std::exception类定义了无参构造函数、拷贝构造函数、拷贝赋值运算符、一个虚析构函数和一个名为what的无参虚成员。其中what函数返回一个const char*,该指针指向一个以null结尾的字符数组,并且确保不会抛出任何异常,该字符串的目的是提供关于异常的一些文本信息。除析构函数外,其它函数均通过关键字noexcept
2020-09-24 23:29:03 5259
原创 C++11中头文件cmath
<math.h>是C标准函数库中的头文件。在C++中一般用<cmath>。此头文件中声明了一系列函数来计算常见的数学运算和变换:std::abs: 计算绝对值,包括整数类型;std::fabs: 计算绝对值,不包括整数类型;std::fma(x,y,z):x*y+z;std::sin: 正弦;std::asin: 反正弦;std::sinh: 双曲正弦;std::asinh: 双曲反正弦;std::cos: 余弦;std::acos: 反正弦;
2020-09-24 23:26:39 4997 1
原创 C++11中的std::tuple
std::tuple是类似pair的模板。每个pair的成员类型都不相同,但每个pair都恰好有两个成员。不同std::tuple类型的成员类型也不相同,但一个std::tuple可以有任意数量的成员。每个确定的std::tuple类型的成员数目是固定的,但一个std::tuple类型的成员数目可以与另一个std::tuple类型不同。但我们希望将一些数据组合成单一对象,但又不想麻烦地定义一个新数据结构来表示这些数据时,std::tuple是非常有用的。我们可以将std::tuple看作一个”快速而随意
2020-09-21 21:39:52 11607 2
原创 C++11中的正则表达式
正则表达式(regular expression)是计算机科学中的一个概念,又称规则表达式,通常简写为regex、regexp、RE、regexps、regexes、regexen。正则表达式是一种文本模式。正则表达式是强大、便捷、高效的文本处理工具。正则表达式本身,加上如同一门袖珍编程语言的通用模式表示法(general pattern notation),赋予使用者描述和分析文本的能力。配合上特定工具提供的额外支持,正则表达式能够添加、删除、分离、叠加、插入和修整各种类型的文本和数据。完整的正则
2020-09-21 21:29:13 786 1
原创 Lambda表达式
Lambda表达式语法:[capture ] ( params ) mutable exception attribute -> return-type { body }其中capture为定义外部变量是否可见(捕获),若为空,则表示不捕获所有外部变量,即所有外部变量均不可访问,= 表示所有外部变量均以值的形式捕获,在body中访问外部变量时,访问的是外部变量的一个副本,类似函数的值传递,因此在body中对外部变量的修改均不影响外部变量原来的值。& 表示以引用的形式捕获,后面加上需要捕获的
2020-09-21 21:27:27 358
原创 C++11中std::function和std::bind
std::function类模版std::function是一种通用、多态的函数封装。std::function的实例可以对任何可以调用的目标实体进行存储、复制、和调用操作,这些目标实体包括普通函数、Lambda表达式、函数指针、以及其它函数对象等。通过std::function对C++中各种可调用实体(普通函数、Lambda表达式、函数指针、以及其它函数对象等)的封装,形成一个新的可调用的std::function对象,让我们不再纠结那么多的可调用实体。std::function实现了一套类型
2020-09-20 22:51:19 785
原创 C++中friend的使用
友元函数并不能看做是类的成员函数,它只是个被声明为类友元的普通函数:(1)、在类里声明一个普通函数,在前面加上friend修饰,那么这个函数就成了该类的友元,可以访问该类的一切成员。(2)、一个普通函数可以是多个类的友元函数。(3)、一个类的成员函数也可以是另一个类的友元,从而可以使得一个类的成员函数可以操作另一个类的数据成员。(4)、整个类也可以是另一个类的友元,该友元也可以称作为友类。友类的每个成员函数都可以访问另一个类的所有成员。友元声明中声明的函数被视为已使用extern关键字声
2020-09-20 16:57:39 6386 5
原创 C++中函数指针的使用
函数指针是一个指向函数的指针,函数指针表示一个函数的入口地址。指针是变量,所以函数指针也是变量,因此可以使用变量定义的方式来定义函数指针。只是这个指针它不像普通的指针指向一个变量,而它指向的是一个函数,也就是它存储的是一个函数的地址。 在C中,一个函数指针可以多次赋值。取地址符号是可选的,却是推荐使用的。在C++中,对于赋值必须要加”&”,而且还必须在此之前已经定义好了一个类实例,取地址符号要操作于这个类实例的对应的函数成员上。在使用成员函数的指针调用成员函数时,必须要加类实例的...
2020-09-20 16:53:29 589
原创 Google C++ 风格指南内容整理
现在很多公司进行C++开发都要求按照Google C++风格。在这个网站http://zh-google-styleguide.readthedocs.org/en/latest/contents/ 有人已经把其翻译成中文。为了便于以后查看,下面的内容完全是来自于这个网站,只是把多个网页的内容整理放在了一起。1.头文件:通常每一个.cc文件都有一个对应的.h文件。也有一些常见例外,如单元测试代码和只包含main()函数的.cc文件。#define保护:所有头文件都应该使用#...
2020-09-20 16:20:24 422
原创 编写高质量代码改善C++程序的150个建议
第一部分 语法篇第1章从C继承而来的建议0:不用让main函数返回void main函数的返回类型是int,不是void或其它类型。建议1:区分0的4种面孔(1)、整型0;(2)、空指针NULL,指针与int类型所占空间是一样的,都是32位;(3)、字符串结束标志’\0’;(4)、逻辑FALSE/false,FALSE/TRUE是int类型,而false/true是bool类型。建议2:避免那些由运算符引发的混乱 不要...
2020-09-20 15:48:05 2596
原创 DLL动态库导出C++类
使用纯C语言方式头文件//在DLL的工程中定义 DLL_EXPORTS宏(表示导出) 一般直接加到项目配置的 预处理器定义宏中#ifdef DLL_EXPORTS#define DLLAPI __declspec(dllexport)#else#define DLLAPI _declspec(dllimport)#endif//需要导出的类class CTest{public: int add(int a, int b, int c); void relea
2020-09-17 00:57:39 1042
原创 x64汇编
x64是AMD64与Intel64的合称,是指与现有x86兼容的64位CPU。在64位系统中,内存地址为64位。x64为环境下寄存器有较大的变化。x64系统通用寄存器的名称,第1个字母从"E"改为"R"(例如"RAX"), 大小扩展到64位,数量增加了8个(R8~R15), 扩充了8个128位XMM寄存器(在64位程序中,XMM寄存器经常被用来优化代码)。64位寄存器与x86下的32位寄存器兼容,例如RAX(64位)、EAX(32位)、AX(低16位)、AL(低8位)、AH(8-15位)。x64新扩展的
2020-09-15 00:27:15 7050 1
原创 IDA的使用
简介ida可以分析的文件格式也非常多 包括windows下的pe格式文件(.exe .dll .sys)linux 下的elf文件(.elf .so )mac系统的常见文件格式,以及一些不常见到系统的文件格式。ida的功能强大,对于一般的无壳保护,无混淆代码的程序ida能直接反汇编出位代码(F5快捷键),在一定程度上减少了逆向分析的难度和门槛。ida分为32位和64位,在进行逆向分析时选择32-bit IDA分析32位程序,64-bit IDA 分析64位程序。一般来说直接ok打开,ida会帮你
2020-09-12 00:57:28 3453 1
原创 编译QT源码
下载QT源码1.离线安装安装的时候勾选Sources2.直接下载源码例如5.12.0的源码下载地址:qt-everywhere-src-5.12.02. 编译工具下载ActivePerlActivePerl下载地址:默认安装时会添加ActivePerl到环境变量。测试添加是否成功:Python下载Python,添加Python到环境变量。测试添加是否成功:RubyRuby下载地址:RubyInstaller for Windows安装时勾选添加到环境变量的选项:
2020-09-04 00:45:19 3881
WinDbg_preview_1.1910.3003.0.zip
2021-10-10
activemq-cpp编译出来的所有库包括openssl,cppunit,apr
2021-01-03
QT Player Demo
2020-12-02
PE格式解析.zip
2020-09-09
二维码识别zbar.zip
2020-04-12
botan版本2.3.0.zip
2020-04-12
WIN10-PCHunter64.zip
2020-04-05
Qt中文文档.zip
2020-04-01
二维码本地识别.zip
2020-03-27
Windows,JAVA,Android的API文档.zip
2020-03-22
Qt5.13.0 Https库.zip
2019-10-15
qrencode.zip
2019-10-07
botan-2.1.0.zip
2019-10-07
globalshortcut.zip
2019-10-04
Winhex 19.8 中文版
2019-04-28
win7,win10注入CSRSS 不蓝屏
2019-04-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人