转载:http://www.cnblogs.com/Anker/p/3744127.html1、前言
今天在看代码中遇到一个结构中包含char
data[0],第一次见到时感觉很奇怪,数组的长度怎么可以为零呢?于是上网搜索一下这样的用法的目的,发现在linux内核中,结构体中经常用到 data...
分类:
编程语言 时间:
2014-05-26 21:09:27
阅读次数:
374
这两天在看结构体,一直在琢磨结构体的存储空间分配的问题,琢磨了半天总算明白了。和大家分享一下,希望能有所帮助。相信大家都知道结构体里元素存储要对齐吧,话虽是没错,只是这个“对齐”里面包含了很多微妙的东西。首先详细的给出结构体内存存储空间分配的原则吧:编译器按照成员列表顺序一个接一个地给每个成员分配内...
分类:
编程语言 时间:
2014-05-26 16:37:20
阅读次数:
327
在类内部定义的函数默认为inline函数后面加const,不能改变操作对象的数据成员,const必须在定义和声明的时候都存在,否则会出现编译错误类和结构体,还有枚举是怎么实现的,内存是如何存储的,这是个大问题?因为只有当类定义体完成后才能定义类,因此类不能具有自身类型的数据与成员,然而只要类名一出现...
分类:
编程语言 时间:
2014-05-26 15:18:22
阅读次数:
281
* weak(assign) :代理\UI控件* strong(retain)
:其他对象(除代理\UI控件\字符串以外的对象)* copy :字符串,block* assign
:非对象类型(基本数据类型int\float\BOOL\枚举\结构体)-UI控件也不一定是用weak的,要根据具体情况具...
分类:
其他好文 时间:
2014-05-26 13:11:02
阅读次数:
236
备忘:1.C函数参数为字符串char*。如果是入参,对应C#中string或StringBuilder;如果是出参对应C#中StringBuider;2.C函数参数为结构体指针,需在C#中对应定义结构体。如果是入参,C#中可为myfunction(MyStruct
mystruct)或myfunct...
分类:
其他好文 时间:
2014-05-26 10:06:56
阅读次数:
158
Java是最流行的编程语言之一,但似乎并没有人喜欢使用它。好吧,实际上Java是一门还不错的编程语言,由于最近Java 8发布了,我决定来编辑一个如何能更好地使用Java的列表,这里面包括一些库,实践技巧以及工具。
这篇文章在GitHub上也有。你可以随时在上面贡献或者添加你自己的Java使用技巧或者最佳实践。
编码风格
结构体
builder模式
依赖注入避免nul...
分类:
编程语言 时间:
2014-05-25 00:54:03
阅读次数:
427
阅读本文之前首先了解copy与retain的区别,如果有不正确的地方望大家多多指教:copy与retain的区别:copy是创建一个新对象,retain是创建一个指针,引用对象计数加1。Copy属性表示两个对象内容相同,新的对象retain为1,与旧有对象的引用计数无关,旧有对象没有变化。copy减...
分类:
移动开发 时间:
2014-05-24 12:56:08
阅读次数:
313
iOS开发UI基础—transframe属性(形变)1.
transform属性在OC中,通过transform属性可以修改对象的平移、缩放比例和旋转角度常用的创建transform结构体方法分两大类(1)
创建“基于控件初始位置”的形变CGAffineTransformMakeTranslatio...
分类:
移动开发 时间:
2014-05-23 04:09:30
阅读次数:
422
1、典型的Point结构体 1 struct point { 2 double x, y; 3
point(double _x = 0, double _y = 0): x(_x), y(_y) { 4 } 5 void input() { 6
sca...
分类:
其他好文 时间:
2014-05-23 03:40:15
阅读次数:
362
主要理解新与旧到底在哪里 这样也就理解了 深浅拷贝
先说说赋值,其实python中的赋值其实是赋值了一个引用,例如:
foo1=1.0
foo2=foo1
用操作符is判断时,你可以发现结果是true,是因为python是先创建了一个对象1.0,然后这个对象的引用又被赋值给了foo1和foo2,但是如果是这样:
foo1=1.0
foo2=1.0
这时你会...
分类:
编程语言 时间:
2014-05-22 23:17:34
阅读次数:
340