cpp加油站 cpp加油站
3年前
【deque容器系列二】基于STL源码分析deque容器插入和删除时内存都是怎么变动的
上篇文章我们介绍了deque容器整体结构和构造实现,链接如下:本篇文章接上篇,继续基于gcc中stl的源码剖析deque容器插入、删除、取值的实现原理,以提问者的角度去深入分析这些操作过程中发生了什么,并对deque容器适合使用的场景和使用时的注意事项进行说明。说明一下,我用的是gcc7.1.0编译器,标准库源代码也是这个版本的。按照惯例,还是先看一下本文
李志宽 李志宽
3年前
这是什么骚批代码!
神秘代码大家好我是周杰伦今天给大家看个有意思的东西!不仅有意思,还能学到知识。话题从两行(准确的说是一行)神奇的代码聊起:includeintmainLinux下:不仅能编译成功,还能正常运行,在Windows上输出了一个MZ,在Linux上输出了一个ELF。熟悉PE文件格式的同学可能知道,MZ是PE文件开头的标志,另外,ELF也是Linux上的可执行
Wesley13 Wesley13
3年前
java第二次作业
(一)学习总结1.什么是构造方法?什么是构造方法的重载?下面的程序是否可以通过编译?为什么?(1)在对面向对象程序中构造方法的主要作用是为类中的属性初始化。在构造方法中要注意以下几点①构造方法的名称必须与类名称一致②构造方法的声明处不能有任何返回值类型的说明③不能在构造方法中使用return返回一个值(2)构造方法的重载就
Stella981 Stella981
3年前
PX4 Bootloader解析
1引言半年前入手了PixhawkV2全套硬件,编译好的开源固件也下了,四轴也飞了,一直想对这套开源飞控进行一个系统地解析,由于工作原因一直没时间。最近翻开了PX4飞控源代码,它基于NUTTX操作系统,在github上更新十分迅速。为了能够全面地掌握这套软硬件设计思想,同时对硬件系统有全面的认识,我决定对PX4Bootloader进行详细解
Stella981 Stella981
3年前
HDU 2594(求最长公共前后缀 kmp)
题意是在所给的两个字符串中找最长的公共前后缀,即第一个字符串前缀和第二个字符串后缀的最长相等串。思路是将两个字符串拼接在一起,然后直接套用kmp算法即可。要注意用next会报编译错误,改成Next才过……但next确实不是c关键字。代码如下:!(https://oscimg.oschina.net/oscnet/5
Stella981 Stella981
3年前
Ionic2 集成ECharts
在群里看到有人问怎么在Ionic2中集成ECharts来显示图表。当时答应说写个blog,简单写下步骤。在TypeScript中如果要使用第三方库,必须要有d.ts,也就是定义文件,没有这个文件的话TypeScript是认不出来的,无法编译通过。下面以百度的ECharts图表为例,演示一下使用第三方库的用法。1、安装ECHARTS首先需要使用np
Stella981 Stella981
3年前
Python中的import语句
Python中的import语句是导入一个文件,这条语句主要做三件事:1通过一定的方式,搜寻要导入的文件;2如果需要,就编译这个文件;3运行这个文件但是,需要注意的是,所有这三个步骤,都只是文件再第一次导入的时候才会执行,如果文件已经导入了,后续的import会直接从内存里面找到已经加载的模块使用,换句话说,此时,import不会执行上
Wesley13 Wesley13
3年前
Go 语言初级教程之六[基本类型]
基本类型像C语言一样,Go提供了一系列的基本类型,常见的布尔,整数和浮点数类型都具备。它有一个Unicode的字符串类型和数组类型。同时该语言还引入了两种新的类型:slice和map。数组和切片Go语言当中的数组不是像C语言那样动态的。它们的大小是类型的一部分,在编译时就决定了。数组的索引还是使用的熟悉的
Stella981 Stella981
3年前
Flappy Bird 单机版
前阶段FlappyBird很火,想来这么简单的游戏何不自己也实现一个来取个乐子.于是花了半小时山寨了一个.大概也算填补了单机版的空白吧.鉴于这只是作为自己引擎产品的Sample,所以很多没有仔细完善,物理模型也于原版有少许不同,感觉更难些.另外更多的功能也没时间加入,比如多人联网和各种扩展玩法等模式.等有兴趣再来完善吧.游戏编译于VS2013Runti
Wesley13 Wesley13
3年前
C语言内存优化——继续含泪总结
之前分析了基本数据类型的优化,现在开始涉及全局和局部变量的优化,话说这个东西我从没想过还能这样优化的喂!全局变量/Globalvariables全局变量不会被分配在寄存器上,修改全局变量需要通过指针或者调用函数的方式间接进行。所以编译器不会将全局变量存储在寄存器中,那样会带来额外的、不必要的负担和存储空间。所以在比较关键的循环中,我们要