【C++】C++友元
C++中可以使用friend关键字来将函数、类声明为某个类的友元
友元包括友元函数和友元类
友元具有一些特权,可以访问private的成员
友元只能授予,不能索取,单向,不能传递(比如a是b的友元,b是c的友元,但a不是c的友元)
友元函数
在类体中使用friend关键字对友元函数进行声明:
将非成员函数/一般函数声明为友元:
friend void func(); //func为非成员函数,不属于任何类
将其他类的成员函数声明为友元:
friend void CTime::getNum();//getNum为CTime类的成员。
java 调用 c
引用:http://blog.csdn.net/qiuxiaolong007/article/details/7555876
下面我就用JNI实现一个经典的“Hello World”程序。该程序在Java中通过JNI调用c函数实现“Hello World”的输出。
Spring的LoadTimeWeaver(代码织入)
在Java 语言中,从织入切面的方式上来看,存在三种织入方式:编译期织入、类加载期织入和运行期织入。编译期织入是指在Java编译期,采用特殊的编译器,将切面织入到Java类中;而类加载期织入则指通过特殊的类加载器,在类字节码加载到JVM时,织入切面;运行期织入则是采用CGLib工具或JDK动态代理进行切面的织入。
PHP中VC6、VC9、TS、NTS版本区别与用法
1. VC6与VC9的区别:
VC6 版本是使用 Visual Studio 6 编译器编译的,如果你的 PHP 是用 Apache 来架设的,那你就选择 VC6 版本。 VC9 版本是使用 Visual Studio 2008 编译器编译的,如果你的 PHP 是用 IIS 来架设的,那你就选择 VC9 版本。
常(const)+ 对象 + 指针:玻璃罩到底保护哪一个
原创案例讲解——”玻璃罩const”系列的三篇文章:
1. 使用常对象——为共用数据加装一个名为const的玻璃罩
2. 常(const)+ 对象 + 指针:玻璃罩到底保护哪一个
3. 对象更有用的玻璃罩——常引用
在上一篇文章《使用常对象——为共用数据加装一个名为const的玻璃罩》中,利用案例讨论了运用常对象,常成员函数、常数据成员及其用法。const这个玻璃罩让数据只能看,不能改,
读书笔记 effective c++ Item 47 使用traits class表示类型信息
STL主要由为容器,迭代器和算法创建的模板组成,但是也有一些功能模板。其中之一叫做advance。Advance将一个指定的迭代器移动指定的距离:
1 template // move iter d units
2 void advance(IterT& iter, DistT d); // forward; if d < 0,
3 // move iter backward
从概念上来说,advance仅仅做了iter += d,但是advance并不是用这种方式实现的,因为只有随机访问迭代器支持+=操作。