C++
文章平均质量分 52
Marchccc
尊重、进步、意义
展开
-
什么是STL
STL是一个标准模板库STl由系列组件构成的:容器——管理对象的集合,就是一个容器。迭代器——遍历容器元素算法——处理容器内元素,比如排序、查找本质:数据存放在容器中,可以用迭代器+算法对数据进行操作(排序查找或其他的),再放回容器去。原创 2015-04-27 13:21:36 · 17211 阅读 · 0 评论 -
Boost安装
2.1 Boost官网下载Boost最新版Version 1.55.02.2将下载压缩包解压到本地解压后可看到文件夹下有个bootstrap.bat文件。2.3打开cmd命令窗口,运行bootstra.bat文件执行以下命令,具体根据自己的环境略有变化。最主要的目的是我们要运行bootstrap.bat文件执行完后,结果如下:然后在文件夹下我们会转载 2015-04-23 14:28:38 · 17158 阅读 · 0 评论 -
数组初始化
//三维数组#include using namespace std;#define N 5int arr[N][N][N];int arrb[N][N][N];int main(){ int a = 0; for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) {原创 2015-04-22 18:06:01 · 17321 阅读 · 0 评论 -
简单模拟鼠标键盘操作
#include #include //模拟键盘鼠标操作//虚拟按键查询地址:https://msdn.microsoft.com/en-us/library/dd375731%28VS.85%29.aspxint main(){ for (;;){ ShellExecuteA(0, "open", "http://www.baidu.com", 0, 0, 3原创 2015-04-22 18:10:42 · 17350 阅读 · 0 评论 -
选择排序法
//选择排序法:找N-1次,每次找到最小的数并转换位置,以此完成排序#include #include using namespace std;const int N = 10;int arr[N];void init(int arr[]);//生成数据void Result(int arr[]);//结果void ForSort(int a[]);void WhileS原创 2015-04-22 18:16:26 · 17206 阅读 · 0 评论 -
map使用方法
#include #include #include #include using namespace std;int main(){ mapm;//创建一个map(键=>值)容器 //m['键1'] = "值1"; srand(unsigned int(time(NULL))); for (int i = 0; i < 100; i++)//初始化 m[i] = ra原创 2015-04-22 22:21:34 · 17591 阅读 · 0 评论 -
实现strcat
#define _CRT_SECURE_NO_WARNINGS#include #include #include //获取字符串长度int getlength(char *kkk){ int num = 0; while (*kkk) { num++; kkk++;//指针前移 } return num;}//第二个char参数追加到左边void mystrc原创 2015-04-23 10:22:07 · 17185 阅读 · 0 评论 -
去掉字符串头尾空格
void strim(string &str){ str.erase(0, str.find_first_not_of(" \t")); // 头 str.erase(str.find_last_not_of(" \t") + 1); // 尾}原创 2015-04-22 10:58:19 · 17296 阅读 · 0 评论 -
实现strcpy
while (*b++ = *a++){;}原创 2015-04-22 10:56:11 · 17073 阅读 · 0 评论 -
STL组件——容器(顺序容器)
顺序容器(vector,deque,list)vector:可变大小数组,支持快速随机访问,在尾部之外的位置插入或删除元素速度慢(因为他将元素保存在连续的内存空间)定义一个结构struct MyInfo { string name; string sex; int year; }; int main() { vector ve原创 2015-04-27 13:21:43 · 17136 阅读 · 0 评论 -
冒泡排序法
#include #include using namespace std;//冒泡排序 两两比较,小的在左,比较N-1次,达到排序目的const int N=10;int a[N];void init();void result();//还是五种实现void ForSort(int arr[]);void GotoSort(int arr[]);void WhileSo原创 2015-04-22 18:10:32 · 17066 阅读 · 0 评论 -
dll注入调用函数改变指针内容
dll:#include //改变内容_declspec(dllexport) go(){ //修改a与b的值 int *a1 = (int*)0x2bfb10;//变量的地址 int *b1 = (int*)0x2bfb04;//b变量地址 *a1 = 123123; *b1 = 453453; //修改*p1与*p2的值 i原创 2015-04-22 18:22:55 · 17582 阅读 · 0 评论 -
变量的本质是什么
既能读又能写的内存对象,初始化后不能修改的被叫做常量变量就是内存空间的别名程序通过变量来申请和命名内存空间int a=1;通过变量名访问内存空间内存空间可以取别名吗?变量只是内存空间的别名 所以显然当然可以取别名通过变量操作内存 变量的地址是内存空间地址展示:int a = 123;printf("修改前%d\n", a);*((int*)&a) = 4原创 2015-04-22 10:52:31 · 18188 阅读 · 0 评论 -
堆内存创建二维数组
#define _CRT_SECURE_NO_WARNINGS#include using namespace std;void sort(char** arr, int n){ for (int i = 0; i < n; i++) { for (int j = i + 1; j < n; j++) { if (strcmp(arr[i], arr[j]) < 0)原创 2015-04-24 08:09:58 · 17675 阅读 · 0 评论 -
STL组件——容器(关联容器)
关联容器(set、map、multiset、multimap) Set(multiset元素值可以重复)key为元素 set的内部元素根据其值自动排序 每个元素值只能出现一次 不可重复(multset相反)1) 不能直接改变元素值,因为那样会打乱原本正确的顺序,要改变元素值必须先删除旧元素,则插入新元素2) 不提供直接存取元素的任何操作函数,只能通过迭代器进行间接存取原创 2015-04-27 14:34:15 · 17167 阅读 · 0 评论 -
Boost库简介
boost是一个准标准库,相当于STL的延续和扩充,它的设计理念和STL比较接近,都是利用泛型让复用达到最大化。不过对比STL,boost更加实用。STL集中在算法部分,而boost包含了不少工具类,可以完成比较具体的工作。 boost主要包含一下几个大类:字符串及文本处理、容器、迭代子(Iterator)、算法、函数对象和高阶编程、泛型编程、模板元编程、预处理元编程、并发编程、数学转载 2015-04-23 11:15:30 · 17495 阅读 · 0 评论 -
二分查找法
do while版#include using namespace std;const int MAX = 12983;int main(){ int n; cin >> n; int a[MAX]; for (int i=0;i<MAX;++i) a[i] = i; int top=(0),end(MAX-1); do原创 2015-04-22 17:56:16 · 17176 阅读 · 0 评论 -
什么三级指针
#include using namespace std;int main(){ int a = 123; int* b = &a; int** c = &b; int*** d = &c; printf("在这里 d就是c的地址 *d就是c的内容(也就是b的地址 所以*d=&b=c) 所以:&b,%x,%x,%x", *d, c, &b);原创 2015-04-22 18:01:06 · 17568 阅读 · 0 评论 -
九九乘法表
#include using namespace std;//99乘法表 for 递归 while do...while gotovoid nine_for();void nine_recursive(int i=1, int j=1);void nine_while();void nine_do_while();void nine_goto();int main()原创 2015-04-22 18:14:30 · 17150 阅读 · 0 评论 -
双向链表list
//list容器可以在任意位置插入、获取、移动元素,不能通过下标获取元素#include #include #include #include #include using namespace std;int main(){ typedef list LISTINT;//别名 LISTINT lis;//创建一个list srand(unsigned int(time(N原创 2015-04-23 10:10:47 · 17117 阅读 · 0 评论 -
libcurl教程第一部
vs装libcurl请搜索:Visual Studio 2013中使用libcurl库获取地址源码#define _CRT_SECURE_NO_WARNINGS#include #include #include #include "curl/curl.h"#pragma comment(lib,"libcurl.lib")using namespace std;int原创 2015-04-23 10:15:15 · 17180 阅读 · 0 评论 -
通过管道获取cmd输出
#define _CRT_SECURE_NO_WARNINGS#include #include #include int GerResurt(char* cmd, char* result);int main(){ while (1) { char cmd[50] = { 0 }; char result[4000] = { 0 }; scanf("%s", cmd原创 2015-04-23 10:17:53 · 20427 阅读 · 0 评论 -
字符串反转
(指针操作内存对象)char* p1 = str-1;//第一个char *p2 = str + strlen(str);//最后一个while (++p1<--p2){ swap(*p1, *p2);}也可以用algorithmreverse(str.begin(),str.end());原创 2015-04-22 11:19:47 · 17126 阅读 · 0 评论 -
字符串b在字符串a中出现的次数
#include #include #include using namespace std;int main(){ char *a = "abcdlksjdflaksjdfabcdlaksdjlaksdjfabcdabcd0129830abcd";//5次 char *b = NULL; char *search = "abcd"; int count(0); do {原创 2015-04-22 10:58:54 · 21186 阅读 · 0 评论 -
内存四大区是什么
int a=123;//放到栈区int *p;p=&a;//这是执行的 放到代码区malloc 手工分配的内存是申请的堆区,归操作系统管理 若不释放可能会发生内存泄漏char *p=NULL;//分配4个字节的内存 这在临时区 也就是栈区p=(char *)malloc(100);//这才把p放到堆区if(p!=NULL){free(p)};分析:栈区原创 2015-04-22 10:55:48 · 19304 阅读 · 0 评论 -
vector使用方法
#include #include #include using namespace std;//定义一个结构struct MyInfo{ string name; string sex; int year;};int main(){ vector vec; //实现两个结构 MyInfo one; one.name = "亚当"; one.sex = "男";原创 2015-04-22 17:24:40 · 17178 阅读 · 0 评论 -
STL组件——算法
STL算法组件——处理容器内元素Min = min_element(a.begin(),a.end());//在这个区间查找最小的元素 max则是最大的 返回地址sort(a.begin(),a.end());//将这两个区间的元素排序k=find(a.begin(),a.end(),5);//在这个区间查找这个元素并返回reverse(a.begin(),a.end());/原创 2015-04-27 16:02:17 · 17252 阅读 · 0 评论 -
变量指针简单理解
C++变量指针简单理解原创 2017-08-29 10:19:24 · 18177 阅读 · 0 评论