关于每个数据类型个字节在内存中的存储地址(以int为例) 先上图 如题,为什么说好的*p = &c是1啊,为什么是513呢,一开始,我也觉得挺惊讶的,后面听老师分析了一下才知道怎么回事,但是还是有那么一个为题不知道怎么回事,经过上网查了下资料,终于有了些眉目,但是一样有一个问题(后面回说道),切让我抛砖引玉. 要理解这个程序,首先我们要了解每个数据类型的字节排序 而字节排序又分两种:一种是 big endian 一种是little endian big endian意思是讲高序字节(高位)存储到…
Qt 学习之路 2(38):存储容器 豆子 2013年1月14日 Qt 学习之路 2 38条评论 存储容器(containers)有时候也被称为集合(collections),是能够在内存中存储其它特定类型的对象,通常是一些常用的数据结构,一般是通用模板类的形式.C++ 提供了一套完整的解决方案,作为标准模板库(Standard Template Library)的组成部分,也就是常说的 STL. Qt 提供了另外一套基于模板的容器类.相比 STL,这些容器类通常更轻量.更安全.更容易使用.如果…
---恢复内容开始--- 精髓:要熟悉指针的使用,首先要熟悉指针的各种状态存得是什么数据.(以一级指针 int *p1 二级指针:int **p2 三级指针:int ***p3为例) 一级指针:*p1 取得是目标存储空间的值  p2取得的是目标存储空间的存储地址,&p1取得是当前存储空间的存储地址, 二级指针使用: #include <stdio.h> void change3(int **p2){ int ***d3 = d2; ***d3 = 60 } void change2(i…
前言:看这篇博客之前要准备:首先的有一个99刀的个人开发者账号或者199刀的企业开发者账号,其次你用的是apns消息推送,(本人之前四处打听有没有其他消息推送的方法:收获如下:首先如果想做到apns的效果,退出app后还能收到信息,只能用apns,其他的消息推送,xmpp不能像他一样,我也没用过,其次,apns相对来说没有那么耗资源) 最后你要对apns有一定的了解.网上很多,我就不多说了. 咳咳!开始 一 , 首先证书的准备,步骤: 1  获取 CertificateSigningReques…
刚才调试的时候除了一些小问题,有一段代码要重用 NSString *key = @"CFBundleVersion"; // 取出沙盒中存储的上次使用软件的版本号 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSString *lastVersion = [defaults stringForKey:key]; // 取出当前版本号 NSString *currentVersion = [NSBun…
之前已经写过一个个人关于代理模式的一些看法,现在就来总结一下使用代理模式的步骤吧. 1.先搞清楚谁是谁的代理(delegate) ● 2.定义代理协议,协议名称的命名规范:控件类名 + Delegate ● 3.定义代理方法 Ø代理方法一般都定义为@optional Ø代理方法名都以控件名开头 Ø代理方法至少有1个参数,将控件本身传递出去 Ø 4.设置代理(delegate)对象  (比如myView.delegate = xxxx;) Ø代理对象遵守协议 Ø代理对象实现协议里面该实现的方法 Ø…
今天刚学完oc的代理模式,觉得有点新奇,第一次接触,原理 A完成一件事,但是自己不能完成,于是他找个代理人B 替他完成这个事情,他们之间便有个协议 (protocol),B继承该协议来完成A代理给他的事情 步骤,先在类A中写一个协议,在协议中声明一些方法,并且在属性中声明一个代理属性,这个属性id<协议>让我想起jquery,我觉得像是过滤掉一些类,也就是说不是任何一个类都可以作为A类的代理,必须实现协议,并继承(不知道用词恰当不恰当),协议的一些方法,至于为什么,我是这样理解的,由于类A中的…
右图是OC里面scrollView的代理的描述,从这里可以开出来,任何对象都可以作为scorllView的代理对象只要实现了UIScrollViewDelegate这个协议,为什么呢,原因要追究到UIScrollView和delegate的通讯,大致分以下3个:1.在SV被拖拽的时候要给代理发送特定的消息,2.在滚动到特定位置的时候发送特定的消息.3.在用户停止拖拽的 时候也会发送消息.消息即方法,具体调用了以下三个方法,分别是: 所以,要想做SV的代理,必须有这三个方法,而UIScrollVi…
用到的技术:自定义cell,通知机制,代理模式 transform 1.自定义cell(通过代码自定义cell) ①首先新建一个类继承UITableViewCell ②重写initWithStyle:reuseIdentifier方法 这里只需要把所有要显示的子控件添加到contenView中,在这一步一般不需要设置属性的, 但是如果是一些子控件中一些静态的属性,字需要一次性设置的话,就在这里 设置,在重写frameSet方法的时候在把一些比较动态的数据填充上去以及设置 每个子控件的frame…
需求背景:由于tableView中每一个cell的数据与布局都不一样,故不能用xib实现功能,这是用代码写自定义cell就有必要了. 步骤 1.新建一个继承自UITableViewCell的类 2.重写initWithStyle:reuseIdentifier:方法 Ø添加所有需要显示的子控件(不需要设置子控件的数据和frame,  子控件要添加到contentView中) Ø进行子控件一次性的属性设置(有些属性只需要设置一次, 比如字体\固定的图片) 3.提供2个模型 Ø数据模型: 存放文字数…
直接上图啊.…
Go有两种分配内存的机制,规则很简单,下面来简单介绍一下.1.new函数New()函数可以给一个值类型的数据分配内存(不知道什么是值类型请前往切片那一部分),调用成功后返回一个初始化的内存块指针,同时该类型被初始化为0值,原型定义:func new(Type) * Typenew是一个分配内存的内置函数,但是不同于其他语言中new所做的工作,它只是将内存清零,而不是初始化内存.2.make函数Make()函数用于给引用类型分配内存空间,比如:slice,map,channal等,这里需要注意的一…
安装驱动后,可在/dev/目录下发现已经生成了相应的设备文件. 格式化设备:mkdosfs /dev/ramblock. 挂载设备. 读写设备 . 驱动程序代码: /************************************************************************* > File Name: ramblock.c > Author: > Mail: > Created Time: 2016年11月05日 星期六 22时17分28秒 **…
注意理解下面的代码,数据的处理与转换. 头文件: #ifndef STACK_H #define STACK_H class Stack { struct Link { void* data; Link* next; Link(void* dat, Link* nxt); ~Link(); }* head; public: Stack(); ~Stack(); void push(void *dat); void* peek(); void* pop(); }; #endif 实现文件: #in…
目录 一.存储卷的概念和类型 二.emptyDir存储卷演示 三.hostPath存储卷演示 四.nfs共享存储卷演示 五.PVC和PV的概念 六.NFS使用PV和PVC 1.配置nfs存储 2.定义PV 3.定义PVC 4.测试访问 七.StorageClass 八.配置容器应用:Secret和configMap 8.1.Secret解析 创建 Secret的2种方式 如何使用Secret?? 8.2.ConifgMap解析 ConfigMap创建方式 如何使用configMap?? 一.存储…
一.环境说明 主机名 IP地址 角色 磁盘 gluster-node1 192.168.56.11 Server.Client /dev/sdb./dev/sdc./dev/sdd gluster-node2 192.168.56.12 Server.Client /dev/sdb./dev/sdc./dev/sdd gluster-node3 192.168.56.13 Server.Client /dev/sdb./dev/sdc./dev/sdd 二.GlusterFS安装 (1)修改主机…
Kubernetes基础篇 环境说明 版本说明 系统环境 Centos 7.2 Kubernetes版本 v1.11.2 Docker版本 v18.09 Kubernetes学习之路(一)之概念和架构解析和证书创建和分发 Kubernetes学习之路(二)之ETCD集群二进制部署 Kubernetes学习之路(三)之Mater节点二进制部署 Kubernetes学习之路(四)之Node节点二进制部署 Kubernetes学习之路(五)之Flannel网络二进制部署和测试 Kubernetes学习…
静态内存指的是在编译时系统自动给其分配的内存,运行结束后会自动释放:静态内存是在栈中分配的: 动态内存是我们程序员手动分配的内存,正常情况下,程序运行结束后,也不会自动释放,所以为了避免发生未知的错误,我们需要手动释放动态内存:动态内存是在堆分配的: 动态内存分配问题: #include<stdio.h> #include<malloc.h>//用于调用malloc()函数 int main() { int i=5; //为变量 i 静态分配了4个字节的内存 int *p=(int…
1.项目经验 2.基础问题 3.指南认识 4.解决思路 ios开发三大块: 1.Oc基础 2.CocoaTouch框架 3.Xcode使用 -------------------- CocoaTouch Media Core Services Core OS -------------------- System Framework OC的类声明,定义域 OC关键字定义为  @class O-C特有的语句for(..in ..)迭代循环,其他的条件和循环语句和c一样 OC对面向对象的概述 (1)…
oc中的拷贝分为:copy(浅拷贝)和mutablecopy(深拷贝). 浅拷贝也为指针拷贝,拷贝后原来的对象计数器会+1: 深拷贝为对象拷贝,原来的对象计数器不变. 注意:自定义对象拷贝时要实现NSCoping协议或NSMutableCopying协议.且构造方法和copyWithZone方法中最好用[self class]来代替类名 下面以NSString的拷贝 和Student,DoodStudent的copy(实现NSCoping协议)为例展示: OC学习基本快告一段落了,终于可以见到I…
1.指针是C语言中的一个非常重要的概念,实际上,OC系统类的变量.自定义类的变量等都是指针.定义指针变量的语法格式如下,其中*代表一个指针变量,整个语法代表定义一个指向特定类型的变量的指针变量.注意:指针变量不能保存普通的数值,它只能保存指针(也就是变量或对象的地址).函数的形参传递方式有值传递和地址传递两种,其中地址传递就是传递的指针. 类型* 变量名 : float* ft ; int* a ; 2.关于指针,还有两个最基本的运算符,取地址运算符(&)和取变量运算符(*). &:取地址…
本文面向的读者:学习过C++程序设计语言(也就是说学习过Template),但是还没有接触过STL的STL的初学者.这实际上是我学习STL的一篇笔记,老鸟就不用看了. 什么是泛型程序设计 我们可以简单的理解为:使用模板的程序设计就是泛型程序设计.就像我们我们可以简单的理解面向对象程序设计就是使用虚函数的程序设计一样. STL是什么 作为一个C++程序设计者,STL是一种不可忽视的技术.Sandard Template Library (STL): 标准模板库,更准确的说是 C++ 程序设计语言标…
每当学习到一定阶段自己觉得还行时,就会搜一些别人的文章. 这篇文章是原作者14年3月写的.转过来与自己共勉.学习累了就换着学也挺好 原文: 现在回首看看,接触Linux已经很长时间了. 在大三的时候开始学习Java, 但是一直学Java的话, 感觉有点腻, 就尝试找点其他东西来学习. 所以当时就选择学习了Linux. 至于为什么要学习Linux, 有以下三个原因. 一是我比较喜欢开源的东西, 当时学习Java就是因为它开源, 以后选择学习Android很大一部分原因也是因为它开源. 现在已经工作…
1 引子 虽然是计算机科班出身,但从小对几何方面的东西就不太感冒,空间想象能力也较差,所以从本科到研究生,基本没接触过<计算机图形学>.为什么说基本没学过呢?因为好奇(尤其是惊叹于三维游戏的逼真,如魔兽世界.极品飞车),在研究生阶段还专门选修计算机图形学,但也只是听了几堂课,知道了有帧缓存.齐次坐标等零零散散的概念,之后读了一篇论文并上台作报告(压根没读懂).总之,当时只是觉得计算机图形学或三维渲染很牛,甚至问我什么是渲染都不知道,更不知道如何将3维几何体显示到2维屏幕上.令我现在想来非常可笑…
自从毕业开始到现在还没有系统地学习android应用的开发,之前一直都是做些底层的驱动,以及linux上的c开发.虽然写过几个简单的app,也对android4.0.3的源代码做过部分的分析,也算入门了,但是很多的知识点都是零零散散的,也缺少了总结. 相信凭借着对于linux内核层,android framework层的熟悉,加上也写过简单的应用,对于之后的android开发学习之路会事倍功半. 要学android,先要学java,但是光光从学java开始,会让很多人还没动手之前就失去了兴趣,所…
不要让catalogs搞死你的eclipse 楼主终于走出校园,踏上软件职场之路.新人要学的东西有很多,要战胜的东西很多,这些东西除了技术本身,还有对未知领域的恐惧,新接触技术,比如新的框架,可能好几天连一个helloworld级别的东西都写不出来,那种绝望感,真的,我深深体会. 上周末,刚接触maven,这周在做实验的时候,用eclipse创建的web项目,被maven的catalog搞死了我的elcipse好多次.惊恐之余,终于找到解决方案,现在把解决方案写出来,以便今后犯同样的错误的同行借…
学习之路,可说各有各的看法和方法.对于我来说,完全是兴趣一下子来了,脑壳发热吧.就想有个干净的环境,只想着与程序有关的东西练一练. 目前想学习C++,可是打开VC++6,再安了VS2010.VS2015,几乎都逃不过集成开发环境,感觉那什么都做好了.连打个一般的控制台程序,都要折腾半天.比如说: #include <iostream>,如果用点几下就出来了,等着我敲代码,人一下子感觉傻了. 搞半天,那些都是开发环境.开发就要专注于开发,那真会程序设计学习的体验带来一个大障碍.所以我选来选去,还…
一.        模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模块 print(sys.argv) #打印文件名称 5 print(sys.path) #打印环境变量 os模块简介 1.移除文件和文件重命名 ============================== import os os.remove('test.txt') #先将原文件删除,否则无法重命…
来到了新公司,一开始就要做个程序去获取另外一个程序里的数据,哇,挑战性很大. 经过两周的学习,终于搞定,主要还是对Windows API有了更多的了解. 文中所有的消息常量,API,结构体都整理出来了(还不是很全):Windows.zip  目录: 获取控件句柄 模拟键盘和鼠标 文本框赋值 操作DateTimePicker控件 操作TreeView控件 识别简单验证码 判断按钮状态 正文: 一丶怎么获取每个控件的句柄 第一种是使用FindWindow和FindWindowEx两个API结合使用,…
我认为的一条学习嵌入式Linux的路: 1)学习 Linux系统安装. 常用命令.应用程序安装. 2) 学习 Linux 下的 C 编程.这本书必学<UNIX 环境高级编程>.<UNIX 网络编程>,Rechard Stevens 写的,C 高手大都学习过 <C 和指针>.<C 缺陷与陷阱>.<高质量C/C++编程指南>.<C 专家编程>.<The C programming Language> 3)程序员大都要学:数据结…