- 博客(22)
- 收藏
- 关注
原创 learn_c++_lesson3
1.运算符重载:运算符重载,就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。对于基本数据类型,+号这种运算符,是认识的,但是对于我们新建的这些类,他们是不认识的,所以我们需要进行运算符的重载。运算符重载(operator overloading)只是一种”语法上的方便”,也就是它只是另一种函数调用的方式。语法:定义重载的运算符就像定义函数,只是该函数的名字是operator@,这里的@代表了被重载的运算符。函数的参数中参数个数取决于两个因素。运算符是一元(一个参...
2020-07-02 17:54:16
228
原创 linux_socket_tcp基础代码
#include <sys/types.h> /* See NOTES */#include <sys/socket.h>#include <netinet/in.h> // for struct sockaddr_in #include <netinet/ip.h> /* superset of previous */#include <arpa/inet.h> //for inet_pton#include&l.
2020-07-02 15:44:17
2294
原创 learn_c++_lesson2
1.对于c++的封装,私有权限,这个权限只能在类里面去使用,不能在外面使用这个成员属性。class person{ private: int age;}person p1;p1.age = 10;这个时候,你在外面栈上去使用这个成员属性,可以任意操作,那就不是私有的了,私有的意思是只有该对象有权限对这个属性就行操作。2.static关键字:用在成员属性上就是静态成员变量。...
2020-05-18 19:54:46
177
转载 C语言提高
char *strA() {char str[] = "hello word";return str;}一开始以为"hello word"分配在堆上,问了同学,再网上查找了一下,才发现C与Java不一样。char str[] = "hello word"相当于char str[4] = {'a','b','c','\0'};分配在栈上。下面转载http://wenku.baidu...
2020-05-14 14:59:56
162
原创 学习flask,报错误:raise ValueError('urls must start with a leading slash')
报这个错误,原因很简单:我在写Flask() 的配置参数的时候:这个前面static没有加/加完之后:
2020-05-13 19:36:12
681
原创 learn_c++_lesson01
1.构造函数:(与类名相同,并且可以发生重载)默认构造函数(无参): 有参构造函数(有参): 拷贝构造函数(参数为另一个对象):2.析构函数:注意:构造函数和析构函数必须写在public权限下面。3.构造函数的调用方式:1.括号法调用 括号法调用 Person p1(1); //有参 p1.m_Age = 10; Person p2(p1); //拷贝 ...
2020-05-13 12:38:41
222
原创 C语言学习--static和const作用:
1.static:1>作用于局部变量;原先局部变量:1。作用域 ,函数大括号之内 2.存储 :存储在栈上,即为 程序运行起来才会发配空间。静态局部变量:1.作用域:作用域不变,还是大括号之内 2.存储,未初始化的会存在数据段的bss端(初始化为0) 初始化的会存在与data区域。2>作用域全局变量,原先的全局变量连接属性是const,用static修饰之后,作用域...
2020-04-23 20:10:40
293
原创 C语言的内存模型
1.运行之前:预处理:宏定义 头文件展开 条件编译 不会检查语法编译: 检查语法,将预处理后的文件编译成汇编文件汇编:将汇编文件生成目标文件 (二进制文件)链接: 将目标链接成可执行文件。没有运行程序栈,也就是说程序还没有加载到内存前,可执行程序(size + 可执行程序),可执行程序内部已经分为三段信息,分别为代码区(text) 数据区(data) 未初始化数据区(bss)三...
2020-04-23 20:03:50
195
原创 C语言数据结构、第三节课----队列(链式存储)
一、概念:队列是一种特殊的线性表,尽在两端进行操作,队头:取出数据元素的一端;队尾:插入数据元素的一端,队列是不允许在中间部位进行操作的,所以队列是先进先出,(first in first out FIFO ) 允许插入的一端是队尾,允许删除的一端是队头。如图所示:上面就是队列的逻辑示意图,所以我们可以通过线性表的链式存储来模仿队列的链式存储。二、队列的API函数:1....
2020-04-19 17:49:23
268
原创 C语言数据结构,第二节--线性表的连式存储
一、思路:针对线性表的链式存储,其实我们最主要的是要考虑如何将链表节点和业务节点如何合在一起,意思就是我们的链表的API函数,操作的是链表节点,而我们如何将业务节点和链表节点相绑定,这样的话,这样的话我们操作链表节点,其实就是操作的业务节点。...
2020-04-16 20:38:44
247
原创 C语言数据结构和算法,第一节-----C语言实现线性表
线性表:其实 线性表理解为其实就是用一块连续的内存来存储数据,数据是连续的,不能跳跃式的存储。特点:内存是一块连续的内存; 数据是顺序存放的,不能有间隔。实现方式,一种是静态实现,一种是动态实现。1.动态实现先定义一个线性表的结构体 ...
2020-04-12 19:47:36
423
原创 算法一道题目:在一个由自然数1-1000中某些数字所组成的数组中,每个数字可能出现零次或者多次。 设计一个算法,找出出现次数最多的数字。
#include<stdio.h>#include<string.h>#include<stdlib.h>/***************************** 练习 ***************************** 在一个由自然数1-1000中某些数字所组成的数组中,每个数字可能出现零次或者多次。 设计一个算法,找出出现次数最多的...
2020-03-01 14:52:16
563
原创 Linux环境多线程(C语言)
1.多线程的概念 每个进程都有自己的数据段、代码段和堆栈段,这就造成进程在创建、切换、撤销操作时候,需要较大的系统开销。 为了减少系统开销,从进程中演化出来线程。 线程存在于进程中,共享进程的资源。 线程是进程中的独立控制流,由环境(包括寄存器组和程序计数器)和一系列的指令组成,每个进程有一个地址空间和一个控制线程(主线程)。 其实我觉得,进程相当于一个生...
2020-01-15 15:37:49
268
原创 linux API--read函数 一次读不完的时候,read的文件便宜指针位置是上次的读到的位置
read读取一个文件的时候,如果一次性读不完,第二次直接read读的时候,文件偏移指针是上次读取的位置开始去读取文件。示例代码为:#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <stdio.h>#include <unistd.h>...
2019-11-11 14:30:15
1204
1
原创 django使用前后端分离,通过json数据传送,如何解决csrf验证的问题。
1.第一步:当静态页面加载的时候,让他去向服务器请求,服务器发送过来一个csrftoken的值,保存到浏览器的cookie里面。设置csrftoken的视图函数:视图函数先导入:from django.middleware.csrf import get_token函数:def token(request): token = get_token(request=requ...
2019-09-09 00:32:28
958
原创 学习flask第一天碰到的愚蠢问题: raise ValueError('urls must start with a leading slash')
原因:配置这个app的时候,static静态文件前面没有加 /改为:问题解决,听愚蠢的错误,因为自己对flask不熟不懂,所以找了半天没有找到,记录一下。...
2019-08-15 14:36:52
676
原创 Boolan c++学习第四周笔记
1.泛型编程和面向对象编程,是c++的技术主流。2.转换函数:2.1这就是一个转换函数,函数名前后有空格,没有参数,没有返回类型。这个const通常都需要加,因为我们不需要改变数据,这个例子中就是将分子和分母直接除等到一个double。例子:定义了一个对象f,再将它转换为0.6.这个构造函数比较特殊编译器去找+这个操作符的函数,但是没找到,编译器就去找能否将4转换为fraction这个类,找到了上...
2018-04-15 18:06:41
205
原创 Boolan c++学习第三周笔记
类之间的关系:1. inheritance(继承)2. composition(复合)3. delegation(委托)首先讲复合:1. 我这个类里面有一个其他的类的对象,has a ,有一个就叫复合;这就是所谓的复合。我们的这个例子比较特殊,我们的这个新类的所有的功能都可以借助这个类来实现所有的功能。这个地方的pop这个函数,并没有任何的操作,直接调用...
2018-04-08 21:00:00
292
转载 java 类是公共的,应在名为.java 的文件中声明
开始学习java了,搭好环境,notepad++中新建一个java文件,新建一个HelloWorld类,public class HelloWorld{ public static void main(String[] args) { System.out.println("Hello World!"); }}保存文件时取
2018-04-06 14:06:19
85181
2
原创 Boolan c++学习第二周笔记
1.拷贝构造;拷贝赋值;自己如果没有写拷贝函数,编译器会自动提供一份,拷贝即为一个bit的去进行复制。只要类里面带有指针,就一定需要我们自己去写一份拷贝函数,不能使用编译器提供的那一套拷贝函数。针对于这种类带有指针的情况。一定要考虑:String(const String& str); 拷贝构造 String& operator=(const S...
2018-04-01 00:55:04
223
原创 Boolan c++学习第一周笔记
1.一种基于对象(object based),这种是单一的类的设计;一种面向对象(object oriented),多重class的设计;对于类中的变量和函数而言,数据有很多份但是函数只有一份。2.头文件的正规写法:#ifndef __头文件名__#define __头文件名__XXXXXX#endif采用了防卫式声明。3.c++中的模板:1.如果在类中定义成员数据的数据类型未定义的时候,可以考虑...
2018-03-26 02:10:36
211
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人