文件名称:cppreflect-0.0.1
介绍说明--下载内容来自于网络,使用问题请自行百度
c++ 反射机制的实现.Java为什么能够支持Reflection?答案是Java运行时仍然拥有类型信息,它包含了这个类一切:它有哪些字段、哪些方法,各是何种保护级别等等,还有这个类依赖于哪些类。在Java中,类信息以对象的形式存放,这些对象是一种元对象,它们的类型就是Class。拥有了这些信息,无论是动态创建对象还是调用某些方法都是轻而易举的。在C++中,通过RTTI(运行时类型识别),我们也可以知道类的一些信息,但为什么C++中却没有Reflection,原因是类型信息不完整。RTTI这个名字本身就告诉我们,C++的类型信息是用来进行类型识别的,因此,它也不需要其它额外的信息。并不是C++无法做到这一点,而是C++不希望给用户增加额外的负担。有所得,必然有所失,因此,C++放弃了元对象。关于这一点,C++之父Bjarne Stroustrup在他的《C++语言的设计与演化》的14.2.8节中进行了深入的讨论。
(系统自动生成,下载前可以参看下载内容)
下载文件列表
cppreflect/
cppreflect/cppreflect.sln
cppreflect/include/
cppreflect/include/Archive.h
cppreflect/include/BuiltinType.h
cppreflect/include/BuiltinTypeImpl.h
cppreflect/include/ClassType.h
cppreflect/include/ClassTypeImpl.h
cppreflect/include/Factory.h
cppreflect/include/Field.h
cppreflect/include/FieldImpl.h
cppreflect/include/FLib/
cppreflect/include/FLib/If.h
cppreflect/include/FLib/NullType.h
cppreflect/include/FLib/Switch.h
cppreflect/include/FLib/TypeList.h
cppreflect/include/FLib/TypeTraits.h
cppreflect/include/MembDataPtr.h
cppreflect/include/Method.h
cppreflect/include/MethodImpl.h
cppreflect/include/ObjHolder.h
cppreflect/include/PointerType.h
cppreflect/include/Reflect.h
cppreflect/include/Serialize.h
cppreflect/include/Singleton.h
cppreflect/include/StaticReflect.h
cppreflect/include/StringType.h
cppreflect/include/Type.h
cppreflect/include/TypeOf.h
cppreflect/include/TypeRegistry.h
cppreflect/include/UpCaster.h
cppreflect/src/
cppreflect/src/Archive.cpp
cppreflect/src/BuiltinType.cpp
cppreflect/src/ClassType.cpp
cppreflect/src/cppreflect.vcproj
cppreflect/src/Field.cpp
cppreflect/src/Method.cpp
cppreflect/src/PointerType.cpp
cppreflect/src/Serialize.cpp
cppreflect/src/StringType.cpp
cppreflect/src/Type.cpp
cppreflect/src/TypeOf.cpp
cppreflect/src/TypeRegistry.cpp
cppreflect/test/
cppreflect/test/bdb/
cppreflect/test/bdb/bdb.vcproj
cppreflect/test/bdb/db.h
cppreflect/test/bdb/libdb43d.dll
cppreflect/test/bdb/libdb43d.lib
cppreflect/test/bdb/main.cpp
cppreflect/test/bdb/PersistentHashtable.h
cppreflect/test/makedll/
cppreflect/test/makedll/makedll.vcproj
cppreflect/test/makedll/test.cpp
cppreflect/test/static/
cppreflect/test/static/main.cpp
cppreflect/test/static/static.vcproj
cppreflect/test/usedll/
cppreflect/test/usedll/main.cpp
cppreflect/test/usedll/usedll.vcproj
cppreflect/tmp/
cppreflect/tmp/DynClass.cpp
cppreflect/tmp/DynClass.h
cppreflect/tmp/metaclass.zip
cppreflect/tmp/StaticReflect.h
cppreflect/tmp/usedll.txt
cppreflect/cppreflect.sln
cppreflect/include/
cppreflect/include/Archive.h
cppreflect/include/BuiltinType.h
cppreflect/include/BuiltinTypeImpl.h
cppreflect/include/ClassType.h
cppreflect/include/ClassTypeImpl.h
cppreflect/include/Factory.h
cppreflect/include/Field.h
cppreflect/include/FieldImpl.h
cppreflect/include/FLib/
cppreflect/include/FLib/If.h
cppreflect/include/FLib/NullType.h
cppreflect/include/FLib/Switch.h
cppreflect/include/FLib/TypeList.h
cppreflect/include/FLib/TypeTraits.h
cppreflect/include/MembDataPtr.h
cppreflect/include/Method.h
cppreflect/include/MethodImpl.h
cppreflect/include/ObjHolder.h
cppreflect/include/PointerType.h
cppreflect/include/Reflect.h
cppreflect/include/Serialize.h
cppreflect/include/Singleton.h
cppreflect/include/StaticReflect.h
cppreflect/include/StringType.h
cppreflect/include/Type.h
cppreflect/include/TypeOf.h
cppreflect/include/TypeRegistry.h
cppreflect/include/UpCaster.h
cppreflect/src/
cppreflect/src/Archive.cpp
cppreflect/src/BuiltinType.cpp
cppreflect/src/ClassType.cpp
cppreflect/src/cppreflect.vcproj
cppreflect/src/Field.cpp
cppreflect/src/Method.cpp
cppreflect/src/PointerType.cpp
cppreflect/src/Serialize.cpp
cppreflect/src/StringType.cpp
cppreflect/src/Type.cpp
cppreflect/src/TypeOf.cpp
cppreflect/src/TypeRegistry.cpp
cppreflect/test/
cppreflect/test/bdb/
cppreflect/test/bdb/bdb.vcproj
cppreflect/test/bdb/db.h
cppreflect/test/bdb/libdb43d.dll
cppreflect/test/bdb/libdb43d.lib
cppreflect/test/bdb/main.cpp
cppreflect/test/bdb/PersistentHashtable.h
cppreflect/test/makedll/
cppreflect/test/makedll/makedll.vcproj
cppreflect/test/makedll/test.cpp
cppreflect/test/static/
cppreflect/test/static/main.cpp
cppreflect/test/static/static.vcproj
cppreflect/test/usedll/
cppreflect/test/usedll/main.cpp
cppreflect/test/usedll/usedll.vcproj
cppreflect/tmp/
cppreflect/tmp/DynClass.cpp
cppreflect/tmp/DynClass.h
cppreflect/tmp/metaclass.zip
cppreflect/tmp/StaticReflect.h
cppreflect/tmp/usedll.txt
本网站为编程资源及源代码搜集、介绍的搜索网站,版权归原作者所有! 粤ICP备11031372号
1999-2046 搜珍网 All Rights Reserved.