2013年10月30日星期三

[转] offsetof(TYPE, MEMBER)

offsetof(TYPE, MEMBER)

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://cutebunny.blog.51cto.com/301216/67517
offsetof(TYPE, MEMBER)
该宏在Linux内核代码(版本2.6.22)中定义如下:
#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER);
 
分析:
(TYPE *)0,将 0 强制转换为 TYPE 型指针,记 p = (TYPE *)0,p是指向TYPE的指针,它的值是0。那么 p->MEMBER 就是 MEMBER 这个元素了,而&(p->MEMBER)就是MENBER的地址,而基地址为0,这样就巧妙的转化为了TYPE中的偏移量。再把结果强制转换为size_t型的就OK了,size_t其实也就是int。
typedef __kernel_size_t  size_t;
typedef unsigned int __kernel_size_t;   
 
可见,该宏的作用就是求出MEMBER在TYPE中的偏移量。
本文出自 “bunny技术坊” 博客,请务必保留此出处http://cutebunny.blog.51cto.com/301216/67517

2013年10月23日星期三

[摘] svn 如何查看当前用户

svn 如何查看当前用户

1. 简单粗暴的
cat ~/.subversion/auth/svn.*/*

2. 稍文艺点的
cat ~/.subversion/auth/svn.*/* | grep username -A2  | grep -v -- -- | xargs -n4 | awk '{print $4}'

2013年10月21日星期一

[转] Yii 获取 controller 和 action 的方法

Yii 获取 controller 和 action 的方法

Yii获取controller和action的方法
1、获取controller方法
    Yii::app()->controller->id
2、获取action方法
    Yii::app()->controller->action->id

2013年10月18日星期五

[转] local add, incoming add upon merge 解决方法

FROM: http://blog.sina.com.cn/s/blog_67a5e4720100yg36.html

在svn命令行merge之后文件经常会出现local add, incoming add upon merge问题,导致无法提交,可以通过以下命令解决冲突
Summarizing to resolve the tree conflict committing your working dir with svn client 1.6.x you can use:
svn resolve --accept working -R .
where . is the directory in conflict.

2013年10月15日星期二

[转] C++ 类访问控制(public/protected/private)

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://cnmtjp.blog.51cto.com/204390/36548
C++中 public,protected, private 访问标号小结

第一:private, public, protected 访问标号的访问范围。
private:只能由1.该类中的函数、2.其友元函数访问。
不能被任何其他访问,该类的对象也不能访问。

protected:可以被1.该类中的函数、2.子类的函数、以及3.其友元函数访问。
但不能被该类的对象访问。

public:可以被1.该类中的函数、2.子类的函数、3.其友元函数访问,也可以由4.该类的对象访问。
 
注:友元函数包括3种:设为友元的普通的非成员函数;设为友元的其他类的成员函数;设为友元类中的所有成员函数。

第二:类的继承后方法属性变化。
private 属性不能够被继承。使用private继承父类的protected和public属性在子类中变为private;
使用protected继承,父类的protected和public属性在子类中变为protected;
使用public继承,父类中的protected和public属性不发生改变; 
 
如下所示: 
                                 public:            protected:       private:
public继承             public             protected        不可用 
protected继承       protected       protected        不可用 
private继承            private           private             不可用 

protected继承和private继承能降低访问权限。
本文出自 “将弛直奔” 博客,请务必保留此出处http://cnmtjp.blog.51cto.com/204390/36548