Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

C++ 头文件系列(stack)

C++ 头文件系列(stack)

简介该头文件只含有一个类模版stack, 它实现栈的概念,是一个容器适配器(说实话,在写这篇随笔之前我都不知道有这么个类模版)。栈栈只有一个重要的特性:LIFO(last-in first-out): 后入栈的元素先出栈。栈有两个典型的操作----入栈和出栈,一般来说我们认为这两个操作都发生在栈的顶端(top)。操作对应的函数入栈 -> push出栈 -> pop(没错,这个头文件的内容确实少)本文永久更新链接地址:http://www.lin...
C++ 头文件系列(queue)

C++ 头文件系列(queue)

简介这个头文件定义了两个跟队列有关的类----quque、priority_queue,分别实现的是队列 和 优先队列这两个概念。 但是与这两个类模版与其它类模版(vector、array等)最大的不同是,它们是 容器适配器。容器适配器顾名思义,容器适配器是对容器的适配,从代码层面来讲,它就是对容器的再封装。 因此,这些容器适配器实际上都是由其他容器的功能实现的。 不难看出, 容器适配器所具有的功能是内部容器功能的子集。普通的类封装一般是为了封装成特定问题...
C++ 头文件系列(deque)

C++ 头文件系列(deque)

简介deque是double ended queue(即双端队列)的简称。 就像C++中的大部分容器的一样,deque具有以下属性:顺序的(sequence)动态增长的(dynamic growing)自定义内存分配的(allocator-aware)动态内存分配容器的顺序性(或序列性)和内存分配器我们留到以后再说,这里我们先来探讨下容器的动态增长需求所带来的动态内存分配性质。动态内存分配在这里的意思是容器的大小会随着需要而增长,这经常伴随着一些内存需求性...
Android Studio导入Eclipse项目的两种方法

Android Studio导入Eclipse项目的两种方法

Android Studio导入Eclipse项目有两种方法,一种是直接把Eclipse项目导入Android Studio,另一种是在Eclipse项目里面进行转换,然后再导入Android Studio。1. 直接导入打开Android Studio,如果里面已经打开了项目,选择关闭当前的项目,会弹出一个Welcome对话框:选择Import project (Eclipse ADT, Gradle, etc.),然后再选择要导入的Eclipse项目:...
Go并发编程实践

Go并发编程实践

前言并发编程一直是Golang区别与其他语言的很大优势,也是实际工作场景中经常遇到的。近日笔者在组内分享了我们常见的并发场景,及代码示例,以期望大家能在遇到相同场景下,能快速的想到解决方案,或者是拿这些方案与自己实现的比较,取长补短。现整理出来与大家共享。简单并发场景很多时候,我们只想并发的做一件事情,比如测试某个接口的是否支持并发。那么我们就可以这么做:func RunScenario1() { count := 10 var wg sync.WaitG...
Pivotal发布包含反应式数据访问特性的新一代Spring Data的第一个里程碑版本

Pivotal发布包含反应式数据访问特性的新一代Spring Data的第一个里程碑版本

Pivotal最近发布了下一代Spring Data项目的第一个里程碑版本,他们将其称之为Release Train Kay。在发布文档中,这样写到:这是一个特殊的释放版本,会带领我们驶往新一代的Spring Data,在前行的过程中也会包含几项破坏性的变更。重要的变更包括:基础设施升级,完全支持:Java 8Spring 5对如下数据库提供了反应式(Reactive)支持:MongoDBApache CassandraRedis废弃了JRedis和SRP...
Golang 语法学习笔记

Golang 语法学习笔记

Golang 语法学习笔记包、变量和函数。包每个 Go 程序都是由包组成的。程序运行的入口是包 main。包名与导入路径的最后一个目录一致。"math/rand" 包由 package rand 语句开始。import ( "fmt" "math/rand" )用圆括号组合了导入,是“打包”导入语句。在 Go 中,首字母大写的名称是被导出的。函数函数可以没有参数或接受多个参数。注意类型在变量名 之后。func add(x int, ...
枚举全排列(包括数列中有重复数)的C语言实现

枚举全排列(包括数列中有重复数)的C语言实现

据说是用了DFS的思想……然鹅并不知道这是DFS。主要就是选取一个数放到数组相应位置上,然后递归的排列剩下的数组,将剩下的数组递归排列完了之后再把数放回去,然后这一层递归就返回了……有重复数的话遇到重复的不要重复放置就好了……//// main.c// Full Permutation//// Created by 余南龙 on 2016/12/13.// Copyrigh...
Linux编程之PING的实现

Linux编程之PING的实现

PING(Packet InterNet Groper)中文名为因特网包探索器,是用来查看网络上另一个主机系统的网络连接是否正常的一个工具。ping命令的工作原理是:向网络上的另一个主机系统发送ICMP报文,如果指定系统得到了报文,它将把回复报文传回给发送者,这有点象潜水艇声纳系统中使用的发声装置。所以,我们想知道我这台主机能不能和另一台进行通信,我们首先需要确认的是我们两台主机间的网络是不是通的,也就是我说的话能不能传到你那里,这是双方进行通信的前提。在...
Java中的代理模式

Java中的代理模式

代理模式在某些情况下,一个客户不想或者不能直接引用一个对象,此时可以通过一个称之为“代理”的第三者来实现间接引用。代理对象可以在客户端和目标对象之间起到 中介的作用,并且可以通过代理对象去掉客户不能看到 的内容和服务或者添加客户需要的额外服务。简单来说代理模式就是通过一个代理对象去访问一个实际对象,并且可以像装饰模式一样给对象添加一些功能。静态代理所谓静态代理即在程序运行前代理类就已经存在,也就是说我们编写代码的时候就已经把代理类的...
make与makefile 的理解

make与makefile 的理解

当我们写程序过程中存在多个文件之间有复杂的包含关系时,若修改了其中一个源文件,就重新编译所有文件,一般是不必要的,并且当文件很多时,就显得非常笨拙。所有包含该文件的文件需要重新编译,而其它无关系的文件则不需要编译,但往往判断的这个过程会很令程序员头疼,并且一不小心就会出现某些需要重新编译的文件被遗漏的情况,这样就会使程序无法正常工作。make就可以解决上述问题,它会在必要时编译所有受改动影响的源文件。但是make自身是不能完成这项任务的,我们需要为其提供一...
Python Paramiko模块安装和使用

Python Paramiko模块安装和使用

1、简介 大家会发现,常见的解决方法都会需要对远程服务器必要的配置,如果远程服务器只有一两台还好说,如果有N台,还需要逐台进行配置,或者需要使用代码进行以上操作时,上面的办法就不太方便了。 使用paramiko可以很好的解决以上问题,比起前面的方法,它仅需要在本地上安装相应的软件(python以及PyCrypto),对远程服务器没有配置要求,对于连接多台服务器,进行复杂的连接操作特别有帮助。2、安装 安装paramiko有两个先决条件,python和...
C++ 头文件系列(unordered_map、unordered_set)

C++ 头文件系列(unordered_map、unordered_set)

简介很明显,这两个头文件分别是map、set头文件对应的unordered版本。 所以它们有一个重要的性质就是:乱序如何乱序这个unorder暗示着,这两个头文件中类的底层实现----Hash。 也是因为如此,你才可以在声明这些unordered模版类的时候,传入一个自定义的哈希函数,准确的说是哈希函数子(hash function object)。具有相同相同哈希值的元素被放在同一个桶(bucket)中。为何乱序在提供映射、集合功能的情况下,侧重于元素的...
C++ 头文件系列(set)

C++ 头文件系列(set)

简介头文件包含set、multiset两个类模版,这里要描述的概念与map非常相似,甚至连成员函数都几乎一样,所以这篇随笔会很短。setset如果翻译成中文应该是集合的意思,这里更确切的说是唯一有序集合,性质与map类似:关联性元素唯一性动态增长有序性此外的一个重要特点是:Key与Value是同一个对象(自映射)set == map定义使用set的时候只需要传入一个类型参数,这个类型即是key,也是value。 实际上,set是map的特殊情况,虽然set...
<< 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 >>