C++
文章平均质量分 72
C++
CYRUS STUDIO
博客:https://cyrus-studio.github.io/blog
展开
-
RapidJSON的使用
关于RapidJSONrapidjson项目地址:https://github.com/miloyip/rapidjson项目下载完成后,打开readme.md文件,查看项目说明。RapidJSON is a header-only C++ library. Just copy the `include/rapidjson` folder to system or project's include path.RapidJSON是一个只有头文件的C++ JSON库,只需要拷贝“include/原创 2015-02-03 09:49:13 · 9866 阅读 · 3 评论 -
C++11新特性
auto自动推导类型。 auto i = 10; std::cout << i << std::endl; double x = 12.34; auto *y = new auto(x); std::cout << *y << std::endl;decltype可以获取变量或值的类型名称,替换源码中的调用。int x = 0;decltype(x) y原创 2015-06-02 22:41:23 · 1662 阅读 · 0 评论 -
C++中的异常
异常程序在实际运行时,总会有一些因素会导致程序不能正常运行。异常就是提前给出处理这些不正常因素的解决方案的机制。主要是为了程序的稳定性。C++中的异常关键字在C++中主要提供了3个关键字实现异常处理。分别是:try:捕捉异常 try块中的代码将会进行异常捕捉。catch:处理异常 在catch块中进行对应异常的处理。可以有多个catch块处理不同的异常。异常类可以是任何类型,比如int、lo原创 2015-05-16 14:23:02 · 973 阅读 · 0 评论 -
【C/C++】STL学习笔记
#STL##什么是STLSTL(Standard Template Library)是C++标准库的一部分(80%),是用C++ Template机制来表达泛型的库。面向过程——基于对象——面向对象——泛型STL其实就是一个模板库,这个模板库主要由以下几个组件组成:Iterator(迭代器):正向迭代器、反向迭代器、文件流迭代器。Container(容器):数组、链表、栈、队列、set、map等。原创 2015-05-10 15:19:44 · 2388 阅读 · 1 评论 -
Visual Studio调试技巧
VAssistXVAssistX下载地址:http://pan.baidu.com/s/1eQJ9Ud8常用快捷键查找项目文件:alt+shift+o查找类或变量的所有引用:alt+shift+f列表方法列表/查找方法:alt+m跳到方法实现/方法声明:alt+g切换到.h文件/.cpp文件:alt+o批量改变量/方法/类名:alt+shift+r断点调试常用快捷键F10:逐过程F11:逐语句条件断点调试在运行时如果有非常多Layout对象,但我只想中原创 2015-04-24 23:40:24 · 1285 阅读 · 0 评论 -
内存分析与内存泄漏检测
Android查看所有进程内存占用情况(1)连接设备,打开USE调试模式(2)打开命令行,执行命令:adb shell procrank字段说明:PID:进程idVSS(Virtual Set Size): 虚拟耗用内存(包含共享库占用的内存)RSS(Resident Set Size):实际使用物理内存(包含共享库占用的内存)PSS(Proportional Set Size): 实际使用的物理内存(比例分配共享库占用的内存)USS(Unique Set Size): 进程独自原创 2015-04-05 16:41:26 · 1767 阅读 · 0 评论 -
【C/C++】获取整数的二进制形式字符串
思路使用循环使整数左移i位,并取最高位,如果当前最高位为1则值为'1',否则为'0'。这样拼接出一个字符串。注意:计算机中存储的是数字的补码。关于正、负数的原码、反码、补码。正数:原码、反码、补码都一样。 负数:反码(除了最高位,其它位取反)补码(反码+1) 为什么要存储补码,而不是原码?为了统一运算方法。使用补码对有符号整数进行加、减不需要关心符号位。 例如:1 + (-2) = -1 -2的原码 1000 0000 0000 0000 0000 0000 0000 0010原创 2015-03-29 18:34:56 · 5400 阅读 · 0 评论 -
【C/C++】RTTI
什么是RTTIRTTI(Run Time Type Identify)运行时类型检查。就是在运行时知道对象的类型。实现RTTI的方式(1)typeid函数typeid(obj).name()返回对象的类型名称。(2)dynamic_cast操作符dynamic_cast可以知道是否可以安全地将对象的地址赋给特定类型的指针。如果转换失败,返回空指针(nullptr)。注意:RTTI只适用于包含虚函数的类。RTTI实现原理就是根据对象所指向的虚函数表知道对象的类型。在包含虚函数原创 2015-03-29 17:06:50 · 877 阅读 · 0 评论 -
【C/C++】劫持技术
劫持劫持的原理就是把目标函数的指针的指向修改为自定义函数的地址。函数是放在内存中的代码区,所以劫持与代码区密切相关。实现劫持需要使用detours。detoursdetours是微软亚洲研究院出口的信息安全产品,主要用于劫持。这个工具使用C语言实现,所以是跨平台的。detours根据函数指针改变函数的行为,可以拦截任何函数,即使操作系原创 2015-02-28 16:59:42 · 7973 阅读 · 0 评论 -
【C/C++】CGI编程
1.CGI编程介绍。2.Apache Server的使用。3.使用Apache Server + CGI实现远程控制电脑。原创 2015-02-26 15:10:39 · 3700 阅读 · 0 评论 -
【C/C++】C语言字符串库封装
C语言字符串库封装1.内存大小自动适应字符串长度。2.字符串/字符获取长度、查找、插入、删除、替换、拷贝、连接。3.使用strFree(CString*)释放字符串占用内存。原创 2015-02-26 00:57:25 · 3315 阅读 · 0 评论 -
【C/C++】执行指令并获取输出
执行系统指令,并把执行结果输出到一个buffer。这种方法把输出直接写入内存,所以速度很快。通过获取系统命令输出,可以很方便的实现一些功能,如windows下获取tasklist命令的输出可以获取到所有进程的信息。原创 2015-02-26 00:08:05 · 5067 阅读 · 0 评论 -
【C/C++】冒泡排序与二分查找
冒泡排序:就是相邻两个数进行比较,如果a>b(或者a二分查找:每次取头和尾的中间下标的值a与目标值b进行比较,如果a>b表示目标值b在中间下标前面,把头指向中间下标的前一位;如果a1.随机初始化一个指定长度的数组。2.对数组进行排序。3.输入一个值,并查找该值在数组中的下标。#include #include #include // 冒泡排序原创 2015-02-11 23:58:42 · 1551 阅读 · 0 评论 -
【C/C++】实现将一个整数反转
实现将一个整数反转原创 2015-02-08 19:53:41 · 18158 阅读 · 0 评论 -
C++与Lua通信
参考文章地址:1.Lua与C++通信原理说明:http://blog.csdn.net/musicvs/article/details/84407072.Lua中的堆栈:http://blog.csdn.net/musicvs/article/details/84450273.Lua与C++通信Demo:http://blog.csdn.net/musicvs/article/details/8440919引入lua库头文件//引入lua库,由于lua是用C语言实现的,所以需要添加extern原创 2014-07-10 15:54:18 · 1330 阅读 · 0 评论 -
C/C++整数与字符串互转
将字符串转换为int类型的整数原创 2014-06-30 11:28:39 · 793 阅读 · 0 评论