程序运行时产生的数据都属于临时数据,成语西单运行结束都会被释放
通过文件可以将数据持久化
C++中对文件操作需要包含头文件<fstream>
文件类型分为两种:
文本文件
文本以文本的ASCII码形式存储在计算机中
二进制文件
文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂它们
操作文件的三大类:
- ofstream: 写操作
- ifstream: 读操作
- fstream: 读写操作
文本文件
写文件
写文件步骤如下:
原文链接:https://www.jianshu.com/p/bf997c524a58
gateway中全局的跨域问题解决两种方式,一种是创建配置类不推荐,如有需要可以自己查询相关资料;另一种是使用配置文件,相对简单,如下:
1 | spring: |
上述属性值可以根据自己的需要配置,”*”表示所有。
正常情况下基于以上配置即可,但是由于目前的项目的下游微服务也配置了可以跨域的相关配置,这就导致返回的ResponseHeader中有多重属性,这个多重属性浏览器是不认的。所以基于此的处理方法,把下游的所有配置都取消,但是下游服务数量又太多,所以通过查询找到了以下的方案,参考https://github.com/spring-cloud/spring-cloud-gateway/issues/728
1 | spring: |
在配置文件中添加上面的过滤器,这个过滤器的作用是剔除重复的响应头。gateway的内置的过滤器可以参考这篇文章:https://blog.csdn.net/tuyong1972873004/article/details/107123254。
内置的过滤器有很多,可以根据自己的实际需求去配置。
正常情况下以上配置就可以解决上述的问题,但是发现后台报错,错误信息提示无法找到DedupeResponseHeaderGateWayFilter。后来查询资料才发现,这个过滤器是GreenwichSR2版本提供的新特性,当前的springcloud版本太低。所以最后没有办法,只能手动实现一个和DedupeResponseHeaderGateWayFilter功能相同的过滤器。代码如下:
1 | import org.springframework.cloud.gateway.filter.GatewayFilterChain; |
加上以上配置类后,问题解决。
本阶段主要针对C++面向对象编程技术做详细讲解,探讨C++中的核心和精髓。
C++程序再执行时,将内存大方向划分为4个区域
内存四区意义:
不同区域存放的数据,赋予不同的声明周期,给我们更大的灵活编程
在程序编译后,生成了exe
可执行程序,未执行该程序前分为两个区域
代码区:
存放CPU执行的机器命令
代码区是共享的,共享的目的是对于频繁被执行的程序,只需要在内存中有一份代码即可
代码区是只读的,使其只读的原因是防止程序意外地修改了它的指令
全局区:
全局变量和静态变量存放在此
全局区还包含了常量区,字符串常量和其他常量也存放在此
该区域的数据在程序结束后由操作系统释放。
将/etc/yum.repos.d/CentOS-Base.repo
的文件修改为以下内容(修改前注意备份)
1 | deb http://mirrors.aliyun.com/ubuntu-ports/ focal main restricted universe multiverse |
给你一个字符串s
,请你返回两个相同字符之间的最长子字符串的长度,计算长度时不含这两个字符。如果不存在这样的子字符串,返回-1
。
子字符串是字符串中的一个连续字符序列。
1 | 输入:s = "aa" |
1 | 输入:s = "abca" |
1 | 输入:s = "cbzxy" |
1 | 输入:s = "cabbac" |
1 | class Solution { |
1 | <build> |
1 | # 通过本地文件读取binlog生成sql文件 |