C++类
我先讲一下new吧 我们的类其实说白了就是结构体的变种 结构体其实就是一种数据类型 我们的每一种数据都是需要内存分配的所以说类也是一种数据类型 嗯嗯 比如说有个class a; class a{}; 我们要引用这个类 我们一般定义数据是怎么定义 int num; 那么类其实也一样 类本身就是一种数据类型 所以我们可以用 类名+变量名的形式去声明 class a{}; a bianliang; new其实就是一种申请内存的方式 他会开辟一个新的内存空间 然后返回开辟的这个地址 我们就可以把东西放进去了 这时候我们的new会根据我们声明的类型开辟 类型大小的内存返回地址 然后在这个地址把类a放进去 最后赋值到bianliang上 class a{}; a bianliang; bianliang= new a(); 那么实际上我们这里的bianliang就是一个地址 我们在结构体里我们指向地址是什么操作 ->对吧a->name 函数是有类型的 执行函数的时候就要申请内存了 void占用4字节 void是空类型 不能返回的,能返回是因为这时候虽然为空类型 实际上分配了4个字...
结构体与类的由来与指针及发展史
但是往往很多情况下我们需要几种类型配套使用,就比如说你用变量描述一个人,这个人不止有int属性 如身高,体重为浮点型,名字为字符串,年龄为int 这时候我们就需要定一个一个新类型 结构体实际上和数组也差不多 只不过是不同类型 比如说一个结构体中有两个int一个char类型 那么他就会申请9个内存单元 因为int_2+char_1=4*2+1=9 分给两个int和chart 所以结构体的本身就是个地址 ide会根据你定义的结构体让你能指向他其中的元素 结构体a里面有name和age还有height三个元素,我们表层访问是不是(*a).name a是个地址,我们只需要指向其中的地址就可以,比如a->name 我们一般存东西都是往内存里存,所以a->name=””这种是成立的 如果有一百个人的信息怎么解决 用结构数组,然后很多时候我们需要用到一些特殊的变量——指针变量 指针变量是用于存地址用的变量 通常是变量类型后+*号声明 比如int * ;就是寸int类型变量的地址用的 既然指针是变量,那么肯定也有指针变量的地址 比如int **a; int_*就是用来存int_的地址...
C++数组和指针
int a[10]; 那么这个时候a就是这个数组首元素的地址 *+地址是取量,取地址中的量 &+变量 是取变量地址 然后定义变量的时候 int *a;这个时候a就是指针变量 指针变量只能用来存地址 指针变量本身也是有地址的 数组名本身就是数组首元素的地址 *(arp[2])获取数组第三个元素的数组值 指针数组只能存指针,就像是char不能存int一样 int a[10];表明了长度为10的int数组 数组的特点是可以把类型一样的数据放在一起不用频繁创建变量就比如一百个一样的变量只需要循环创建存入数组里而不用一个个复制粘贴修改大大减少了时间 数组的作用其实就是为了简化大量声明! 那数组的实质就是申请一个很大的内存,然后分给每一个元素 数组有这样一个特点 int a ,b;如果说a的地址是0000,b的地址是0004,这时候我们再声明一个int c;他的地址一定是0008吗,不一定的 内存又不是你一个应用在申请,你怎么知道别的应用没申请走 可能0008就被别人拿走了,c就是0012 但是数组是一下子把0-400全部拿下来了 然后一个int是四个字节,刚好就分配给100个元素...
【C++】学习笔记——日期和时间
C++ 标准库没有提供所谓的日期类型。C++ 继承了 C 语言用于日期和时间操作的结构和函数。为了使用日期和时间相关的函数和结构,需要在 C++ 程序中引用 头文件。 有四个与时间相关的类型:clock_t、time_t、size_t 和 tm。类型 clock_t、size_t 和 time_t 能够把系统时间和日期表示为某种整数。 结构类型 tm 把日期和时间以 C 结构的形式保存,tm 结构的定义如下: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071struct tm { int tm_sec; // 秒,正常范围从 0 到 59,但允许至 61 int tm_min; // 分,范围从 0 到 59 int tm_hour; // 小时,范围从 0 到 23 int tm_mday; // 一月中的第几天,范围从 1 到 3...
【C++】学习笔记——基本的输入输出
easyRSA 打开发现有多个N 判断是否是使用了公有的素数,尝试使用欧几里得辗转相除分解出公有的素数 确实是使用了公有的素数,直接用n整除common(共同素数)得到另一个素数。 根据公式phi = (q -1)*(p - 1),求出phi 使用gmpy2求出模逆元d 最后循环解密即可 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677# from flag import flagimport gmpy2from Crypto.Util.number import *import binascii # m = bytes_to_long(flag)e = 65537 def gcd(a, b): # 求最大公约数 if a < b: a, b = b, a while b != 0:...
【C++】学习笔记——基本的输入输出
C++ 标准库提供了一组丰富的输入/输出功能,编程中最基本和最常见的 I/O 操作。 C++ 的 I/O 发生在流中,流是字节序列。如果字节流是从设备(如键盘、磁盘驱动器、网络连接等)流向内存,这叫做输入操作。如果字节流是从内存流向设备(如显示屏、打印机、磁盘驱动器、网络连接等),这叫做输出操作。 I/O 库头文件下列的头文件在 C++ 编程中很重要。 头文件 函数和描述 该文件定义了 cin、cout、cerr 和 clog 对象,分别对应于标准输入流、标准输出流、非缓冲标准错误流和缓冲标准错误流。 该文件通过所谓的参数化的流操纵器(比如 setw 和 setprecision),来声明对执行标准化 I/O 有用的服务。 该文件为用户控制的文件处理声明服务。我们将在文件和流的相关章节讨论它的细节。 基本的用法cin——预定义的对象 cin 是 iostream 类的一个实例。cin 对象附属到标准输入设备,通常是键盘。cin 是与流提取运算符 >> 结合使用的 char a[10];cin >> a;输入10个字符 cin——预定义的对象 ...
【C++】学习笔记——数据结构
C/C++ 数组允许定义可存储相同类型数据项的变量,但是结构是 C++ 中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项。 结构用于表示一条记录,假设您想要跟踪图书馆中书本的动态,您可能需要跟踪每本书的下列属性: Title :标题Author :作者Subject :类目Book ID :书的 ID 定义结构123456struct strct_name { type name; type name2; type name3; ...} 初始化结构123456789101112struct stru { char a[10]; char b[10]; int c;}stru str;strcpy(stru,"hello");//需要导入cstring.hstr.b = "两种方法都可以初始化字符串";str.c = 123;//打印结构值cout << str.a << endl << str.b &l...
【C++】学习笔记——const关键字
一、const的作用在Java当中我们有final关键字用来定义一个常量,常量即固定了的变量定义之后是无法修改的即只读方式访问。在C++中也有这么一个关键字const。const可以修饰的不仅仅是函数,变量,成员参数等还能用于指针。使用的方法也很简单定义一个const常量有两种格式type const varname;const type varne;这两种格式区别就是关键字的位置不一样比如下面代码 12const int ming = 0;int const ming2 = 1; 这两个方法定义的常量都是无法进行修改了的 二、const 和指针const可以和指针一起使用如下所示: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576#include <iostream>#include <string>namespace...
【PHP】微信支付回调——PHP端
微信提供了一个回调的接口只要把我们的后台接口传过去微信就会调用我们的回调接口。传的是xml的所以我们php段不能再用$_POST来接受微信回调传过来的数据。。应该改成如下 1$callback = file_get_contents('php://input'); callback就是微信传过来的回调内容 1234567891011121314151617<xml><appid><![CDATA[微信开放平台id]]></appid><bank_type><![CDATA[OTHERS]]></bank_type><cash_fee><![CDATA[金额]]></cash_fee><fee_type><![CDATA[CNY]]></fee_type><is_subscribe><![CDATA[N]]></is_subscribe><mch_id><...
【Linux&PHP】Linux安装Nginx_PHP7.3.19
1、下载PHP首先到官网找到自己需要的php版本然后复制链接下载curl -O https://www.php.net/distributions/php-7.2.31.tar.gz 2、安装PHP123456#安装libxml2#ubuntu/debian安装方式:apt-get install libxml2-dev#centos/redhat安装方式:yum install libxml2-devel 3、开始安装12345678910111213141516171819202122232425262728293031323334353637383940414243#解压tar.gztar -xzvf php-7.2.31.tar.gz#切换到目录里面cd php-7.2.31#配置./configure --with-mysql=/usr/bin/mysql_config --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-fpm --with-openssl#安装make && make in...