c++ 自制一个极简的内存修改器

c++ 自制一个极简的内存修改器

#undef UNICODE //按老师说的改了项目属性还是没用,搜到的避免字符串转换问题的方法就是加这一句 #include<stdio.h> #include<Windows.h> #include<iostream> BOOL FindFirst(DWORD dwValue); //开始查找所有符合值的地址 BOOL FindNext(DWORD dwValue); //在已查找到的地址中重新查找 DWORD g_arrList[1024]; //存储找到的地址,只存1024个 int g_nListCnt; //有效的地址个数 HANDLE ...

C/C++ 2020-10-16 PM 2268℃ 0条
C++ 延时执行显示

C++ 延时执行显示

#include <windows.h> #include <iostream> #include <ctime> //加入连接库 #pragma comment(lib, "wininet.lib") using namespace std; void mySleep(int msecond) { clock_t s; s = clock(); while(clock() - s < msecond); } int main(int argc, char* argv[]) { cout<&l...

C/C++ 2020-10-16 PM 1402℃ 0条
C++ 延时关闭电脑显示器

C++ 延时关闭电脑显示器

#include <windows.h> #include <iostream> #include <ctime> //加入连接库 #pragma comment(lib, "wininet.lib") using namespace std; void mySleep(int msecond) { clock_t s; s = clock(); while(clock() - s < msecond); } int main(int argc, char* argv[]) { system(&qu...

C/C++ 2020-10-16 PM 1324℃ 0条
C++标准库---Reverse(逆向)迭代器

C++标准库---Reverse(逆向)迭代器

Reverse(逆向)迭代器 Reverse迭代器是一种配接器,重新定义递增递减运算,使其行为正好倒置,这样使迭代器以逆向来处理元素。 rbegin:传回逆向遍历的第一个元素,也就是实际上最后一个元素的位置; rend:传回逆向遍历时最后一个元素的下一个位置,也就是实际上第一个元素的前一个位置;代码示例:#include<iostream> #include<list> #include<vector> #include<algorithm> using namespace std; void print(int elem) { ...

C/C++ 2020-10-15 PM 1519℃ 0条
C++标准库---set&multiset

C++标准库---set&multiset

一些注意点:1.set和multiset会根据特定的排序准则,自动将元素排序。两者不同之处在于multiset允许元素重复而set不允许。2.排序准则默认缺省为less---为一个仿函数,以operator < 对元素进行比较,也可以定义为greater,以operator >对元素进行比较。3.set和multiset不提供用来直接存取元素的任何操作函数,要改变元素值,必须先删除旧元素,再插入新元素。4.set和multiset在元素快速搜寻方面有优化设计,所以提供了特殊的搜寻函数,应该优先使用这些优化算法,如此可获得对数时间复杂度,而非STL算法的线性复杂度。代码示例:/...

C/C++ 2020-10-15 PM 2271℃ 0条
C++标准库---容器、迭代器、算法、仿函数

C++标准库---容器、迭代器、算法、仿函数

容器:用来管理某类对象的集合,不同容器有不同的优缺点,所以正确使用不同的容器,可以获得容器带来的各种好处,但是如果使用不正确,就势必会造成很多麻烦,甚至造成错误。迭代器:用来对一个对象群集的所有元素进行遍历动作,所以迭代器是容器的一个很小的接口,利用这个接口,就可以遍历容器内的元素,至于怎么做到遍历元素,应该取决于元素内部存储结构,而不同容器存储结构不同,所以每一种容器都提供了自己的迭代器,而这些迭代器了解该种容器的内部结构,所以能够知道如何正确的行进。算法:用来处理群集内的元素,它们可以处于不同的目的而搜寻、排序、修改、使用那些元素。算法是非容器的成员函数,而是一种搭配迭代器使用的全局...

C/C++ 2020-10-15 PM 2047℃ 0条
C++标准库---list使用注意事项

C++标准库---list使用注意事项

list使用需要注意的几点:1.list不支持随机存取,即如果你要存取第5个元素,你必须顺着串链一一爬过前4个元素,所以在list中随机遍历任意元素,是很缓慢的行为;2.任何位置(不只是两端)执行元素的安插和删除都非常快,始终是常数时间内完成,因为无需移动任何其他元素,实际上内部只是进行了一些指针操作而已;3.安插和删除动作并不会造成指向其他元素的各个pointers,references,iterators失效;4.list对于异常有着:要么操作成功,要么什么都不发生。5.list提供了不少特殊的成员函数,专门用于移动元素,较通用的STL算法,这些函数执行起来速度更快,因为无须拷贝和移...

C/C++ 2020-10-15 PM 1342℃ 0条
C++标准库---deque使用注意事项

C++标准库---deque使用注意事项

deque需要注意的几点:1.两端都能快速安插元素和移除元素,这些操作可以在常数时间内完成;2.deque内部结构会多一个间接过程,存取元素动作会稍微慢一点;3.迭代器需要在不同区块间跳转,所以必须使用特殊的智能型指针,非一般指针;4.duque不支持对容量和内存重分配时机的控制,除了头尾两端,在任何地方安插或删除元素,都将导致指向deque元素的任何references,pointers,iterators失效,不过,deque的内存重分配优于vector,因为其内部结构显示,deque不必在内存重分配时复制所有元素;5.deque的内存块不再被使用时,会被释放;6.deque不提供容...

C/C++ 2020-10-15 PM 1559℃ 0条
C++标准库---vector使用注意事项

C++标准库---vector使用注意事项

使用vector需要注意的地方1.vector支持随机存取,因此你只要知道元素的位置,可以在常数时间内存取任何一个元素;2.在末端附加或删除元素,vector的性能相当好,但是在前端或中部安插或删除元素,性能就不行了,因为操作点之后的每一个元素都必须向后移动,而每一次移动都得调用assignment(赋值)操作符;3.合适的vector大小(size)很重要,因为capacity()返回的实际容纳的元素数量过小,vector就必须重新配置内存存储器,(1)一旦内存重新配置,和vector元素相关的所有references,pointers,iterators都会失效;(2)内存重新配置很...

C/C++ 2020-10-15 PM 2554℃ 0条
C++标准库---STL三大序列容器vector deque list

C++标准库---STL三大序列容器vector deque list

序列式容器:其中每个元素均有固定位置---取决于插入时机和地点,和元素值无关。,元素顺序与插入时的顺序一致,和元素的值无关。关联式容器:元素位置取决于特定的排序准则,如果将六个元素置于这样的群集中,它们的位置取决于元素值,和插入次序无关。下面介绍以下STL三大序列容器:vector:支持随机存取,也就是说可以直接利用索引存取任何一个元素,在尾部加插入元素均非常快速,但是在头部或中间插入元素比较费时。因为为了保持原来的相对次序,安插点之后的所有元素都必须移动,挪出位子来。deque:支持随机存取,可以向两端发展,即可以在头部和尾部插入数据,并且在两端插入数据的速度十分迅速,但是在中间部分安...

C/C++ 2020-10-15 PM 1475℃ 0条
C++标准库---迭代器

C++标准库---迭代器

迭代器是一个“可遍历STL容器内全部或部分元素”的对象。一个迭代器用来指出容器中的一个特定位置。operator*:返回当前位置上的元素值;operator++:将迭代器前进至下一元素;operator==和operator!=:判断两个迭代器是否指向同意位置;operator=:为迭代器赋值。因为每个容器选择的数据结构不同,所以每一种容器都必须提供自己的迭代器。begin():返回一个迭代器,指向容器的起点,也就是第一个元素的位置。end():返回一个迭代器,指向容器的结束点,结束点在最后一个元素之后。下面看看不同的容器,怎么使用迭代器,以及set,map等容器的见到那使用。#incl...

C/C++ 2020-10-15 PM 2095℃ 0条