随笔分类 -  C++语言

摘要:判断字节序的方法有三种,第一种利用联合体来做判断;第二种直接判断大于一个字节的类型最低位的值;第三种利用位域。 1、为啥会有两种字节序 算是历史原因吧,小端序符合cpu的运算习惯,因为cpu也是从低地址和高地址方向读取的;大端符合人类的书写习惯。简单的解释如下: 2、程序判断字节序 #include 阅读全文
posted @ 2022-11-16 22:56 张杨 阅读(325) 评论(0) 推荐(1) 编辑
摘要:今天开始学习极客学院的罗剑锋的C++实战笔记,学到了lambda表达式,这块东西讲真一直没怎么用过,今天学了点,想着写一个 求解n!的实现,开始,一直发现无法实现f(n)=n*f(n-1)这样的递归操作,百度了一下,网上还是大佬多呀! 下面直接上代码: // Lambda入门学习.cpp : 此文件 阅读全文
posted @ 2022-06-26 15:54 张杨 阅读(282) 评论(0) 推荐(0) 编辑
摘要:容器汇编1 比较简单的若干容器 1. stringbegin 可以得到对象起始点end 可以得到对象的结束点empty 可以得到容器是否为空size 可以得到容器的大小swap 可以和另外一个容器交换其内容 2. vector可以使用中括号的下标来访问其成员(同 string)可以使用 data 来 阅读全文
posted @ 2021-06-22 20:12 张杨 阅读(136) 评论(0) 推荐(0) 编辑
摘要:今天学习了C++中的RAII机制,主要是应对内存泄露的情况,通过将内存的动态申请放置在构造函数中,将动态内存的释放放置在析构函数中实现。 (1)malloc出来的空间,没有进行释放,存在内存泄漏; (2)如果在malloc和free之间抛异常,那么同样存在内存泄漏问题。该问题称为异常安全问题。 这样 阅读全文
posted @ 2021-06-14 22:11 张杨 阅读(238) 评论(0) 推荐(0) 编辑
摘要:C++中的内存管理 1. Linux中程序的内存地址分配 其中上面的地址为高位地址,下面的地址为低位地址。下面分别介绍各个内存区域的作用: l 代码段:存放函数体的二进制代码; l Bss段:存放未初始化的全局或静态数据; l Data段:存放已初始化的全局或静态变量; l 堆区:存放动态申请的内存 阅读全文
posted @ 2021-06-08 21:48 张杨 阅读(365) 评论(0) 推荐(0) 编辑
摘要:1. 接口类的定义 接口类是一种特殊的类,它只提供方法的声明,方法的定义在子类中完成;同时接口类无法被实例化。 2. 接口类的特征 最好不要有成员变量,但可以有静态常量,表示各种返回状态; 要有纯虚接口方法,让接口成为纯虚类,使之无法完成实例化; 要有虚析构函数,并提供默认实现,这个主要是为了防止子 阅读全文
posted @ 2021-06-07 12:55 张杨 阅读(208) 评论(0) 推荐(0) 编辑
摘要:const_cast:用于将const变量转换为非const变量 int n = 5; int *k1 = const_cast<int*>(&n); //指针 *k1 = 1; int &k2 = const_cast<int&>(n); //引用 k2 = 2; const int a = 10 阅读全文
posted @ 2021-02-15 15:35 张杨 阅读(222) 评论(0) 推荐(0) 编辑
摘要:一直以来喜欢在kindle上看小说,kindle不伤眼,也可以帮助控制玩手机的时间。但在kindle上看txt格式的网络小说就很头疼了,这类小说在kindle上是没有目录的,而且篇幅巨长。所以一直以来我都想加上目录。于是就有了这篇文章。 在这里,要想加上目录,就要将txt格式的小说转换为mobi格式 阅读全文
posted @ 2020-01-30 10:29 张杨 阅读(2160) 评论(0) 推荐(0) 编辑
摘要:C++编译过程 C++ 编译过程在介绍编译器之前,先简单地说一下 C++ 的编译过程,以便理解编译器的工作。编译(compiling)并不意味着只创建仅仅一个可执行文件。创建一个可执行文件是一个多级过程,其中最重要的过程是预处理(preprocessing),编译(compliation)和链接(l 阅读全文
posted @ 2019-07-15 23:06 张杨 阅读(1181) 评论(0) 推荐(0) 编辑
摘要:声明引用的同时必须对其初始化,否则系统会报错,所以我们是无法这样使用 vector<int &> vec; 这条语句会报错,同时引用不是定义一个新的变量或对象,因此内存不会为引用开辟新的空间存储这个引用 而vector将无法开辟存储空间。 参考博客: https://www.cnblogs.com/ 阅读全文
posted @ 2019-07-14 23:06 张杨 阅读(1680) 评论(0) 推荐(0) 编辑
摘要:最近遇到一个问题,就是要对一个vector的变量设置空的参数默认值,刚开始写NULL,发现不行,后来再网上查了一下,可以通过在外部设置一个变量,来为它赋值为空 运行结果: 阅读全文
posted @ 2019-07-07 21:29 张杨 阅读(1387) 评论(0) 推荐(0) 编辑
摘要:XSS攻击: https://www.cnblogs.com/dolphinX/p/3391351.html 跨站脚本攻击(Cross Site Script为了区别于CSS简称为XSS)指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行 阅读全文
posted @ 2019-06-19 10:17 张杨 阅读(5366) 评论(2) 推荐(1) 编辑
摘要:一、基数排序 基数排序的思想比较好理解,即是从各位数开始比较起,一直比较到最高位位置,每次比较都是在前一次比较的基础上进行的。 代码如下: 二、二路归并排序 二路归并排序的思想是开始就将数列划分为两个部分,然后依次递归的对这两部分执行二分操作,直到所有的部分都只包含一个元素位置,此时,再分别对这些部 阅读全文
posted @ 2019-03-19 21:08 张杨 阅读(718) 评论(0) 推荐(0) 编辑
摘要:1.首先介绍一下select和epoll的异同,如下(摘抄自https://www.cnblogs.com/Anker/p/3265058.html) select的几大缺点: (1)每次调用select,都需要把fd集合从用户态拷贝到内核态,这个开销在fd很多时会很大 (2)同时每次调用selec 阅读全文
posted @ 2019-03-18 15:41 张杨 阅读(878) 评论(0) 推荐(0) 编辑
摘要:主要要实现如下几个功能:方块的移动控制、方块变形、判定方块是否接触边界和进行方块堆积、对方块进行消除。 1.方块的移动控制上下左右四个方向上-->变形,下-->加速下落,左-->向左移动,右-->向右移动注意在移动的时候,还要判定是否接触边界,特别是向下移动,除了需要确定是否接触底部边界外,还要注意 阅读全文
posted @ 2018-11-09 16:53 张杨 阅读(1117) 评论(0) 推荐(0) 编辑
摘要:最近开始使用Vs codel,真的方便,可以和git结合。下面总结一下如何调试程序, 我写了一个实例程序(不重要) 这个时候,我们按F5,发现不能运行,它提示需要一个Launch.json文件,OK,这是一个启动文件,我们来配置它。 注意,这里需要修改的部分主要是program那一行,仅需修改为自己 阅读全文
posted @ 2018-10-07 15:45 张杨 阅读(6148) 评论(1) 推荐(0) 编辑
摘要:之前使用的是递归的方法来解决的问题,后来有点想用bfs(宽度优先搜索来尝试一下的想法,在网上看到有人使用了dfs(深度优先搜索)更加坚定了自己的这种想法。 这个方法首先是以顶点的四组开始,加入那些没有放置卡片的位置,同时使用另外一个数组来标记距离,就这样一直拓展下去,如果碰到了目标位置,那么我们就对 阅读全文
posted @ 2018-06-14 11:45 张杨 阅读(485) 评论(0) 推荐(0) 编辑
摘要:这题可以使用递归来进行求解,让点分别向4个方向进行探索,直到遇到目标点,或者最后执行失败。如果找到了目标顶点,就对totalStep进行对比赋值。但step已经比目前的totalStep大时,应忽略这种情况,因为这样下去是没有意义的。 题目如下: 2802:小游戏 2802:小游戏 查看 提交 统计 阅读全文
posted @ 2018-06-13 15:51 张杨 阅读(592) 评论(0) 推荐(0) 编辑
摘要:转载自https://www.linuxidc.com/Linux/2017-03/142299.htm Ubuntu 16.04 LTS 降级安装GCC 4.8 Ubuntu 16.04 LTS 降级安装GCC 4.8 由于gcc在5.x版本修改了ABI,导致新版本gcc编译的二进制文件放在老的环 阅读全文
posted @ 2018-04-17 14:53 张杨 阅读(791) 评论(0) 推荐(0) 编辑
摘要:解题思路,和上一题画家问题一样,本题也使用枚举的思想来解决,注意到这里对于时钟的操作,如果达到四次,那么那就和没有操作是一样的,故这里可以使用4进制来模拟每个操作的状态,最坏情况下的执行次数,4的9次方。下面是题目和代码: 2814:拨钟问题 2814:拨钟问题 查看 提交 统计 提示 提问 查看 阅读全文
posted @ 2018-04-07 16:56 张杨 阅读(1017) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示