- 浏览: 117874 次
- 来自: ...
文章分类
最新评论
-
期待C++的ABI
-
转型(cast)其实是一种编译器指令,大部分情况下它并不改变一个指针所含的真正地址,它只影响“被指出之内存的大小和其内容”的解释方式;那么,什么情况下转型会导致指针的值发生变化呢?多重继承时转向不同基类?
-
Global Objects的内存保证会在程序激活的时候被清0;Local Objects配置于栈中,heap objects配置于自由空间中,都不一定会被清0,它们的内容将是上次被使用后的遗迹
-
有四种情况,会导致“编译器必须为未声明之constructor之classes合成一个default constructor”
-
“带有Default Constructor”的Member Class Object
-
“带有Default Constructor”的Base Class
-
“带有Virtual Function”的Class
-
“带有Virtual Base Class”的Class
-
-
C++新手一般有两个常见的误解
-
任何Class如果没有定义Default Constructor,就会被合成出一个来
-
编译器合成出来的Default Constructor会设定每一个member object为默认值
-
-
如你所见,没有一个是真的
-
有四种情况,一个class不应展现出“bitwise copy semantics”
-
当class内含一个member object而后者的class有一个copy constructor时
-
当class继承自一个base class而后者存在一个copy constructor时
-
当class声明了virtual functions时
-
当class继承链中有virtual base class时
-
-
member scope resolution rules:对member function本身的分析,会直到整个class的声明都出现了才开始;然而,这对于member function的argument list并不为真,Argument List中的参数类型还是会在它们第一次遭遇时被适当的决议完成
-
Template中,对于一个nonmember name的决议结果是根据这个name的使用是否与“用以具现该template的参数类型”有关而决定的:如果其使用互不相关,那么就以“scope of template declaration”来决定name,否则就以“scope of template instantiation”来决定
-
-
指向data member的指针:&Point3d::z,得到data member在class object中的偏移量
-
指向static member function的指针,&Point3d::sti_func(),得到其在内存中的位置,并且类型是int (*)()而不是一个指向class member function的指针,即不是int (Point3d::*)()
-
对一个nonstatic member function取其地址,得到其在内存中的位置
-
对virtual member function取地址,将得到一个索引值
-
发表评论
-
The Object Primer
2004-12-11 11:21 5861,书名 被翻译成“ ... -
错误处理规范
2004-12-11 16:47 757错误处理规范 〇、概念澄清 概念 解释 错误 ... -
Java,误解为何如此之深
2005-08-24 13:50 593前几天被电话面试,问J ... -
Java:画蛇添足的编码规范
2005-09-02 13:13 607前几天公司培训编码规范: 第n条: ... -
synchronized : 规则, 推论与实践
2007-07-23 22:32 46414.3.Synchronization. Rule ... -
交互设计: 股市帮凶
2008-05-04 21:30 642同事 Y 在线操作股票时, 把"买入"点成 ... -
交互设计: 火车上的厕所
2008-05-26 17:17 606有人在动车组的厕所前等了很久, 直到乘务员路过说厕所是被锁住了 ... -
设计原则与模式: 案例介绍--CppUnit
2008-06-01 20:15 613设计原则与模式: 案例介绍--CppUnit CppUnit ... -
工作流:形参,实参,相关数据
2004-12-11 11:40 671关于形参,实参,相关数据 一、形参(FormalParame ... -
工作流:第一次发版,过程总结
2004-12-11 11:42 709交流 即时讨论:小组成员咫尺之遥,有问题立即提出并解决 ... -
工作流:第一次发版,设计总结
2004-12-11 11:43 610整体 面向接口:消息系统,持久系统等,其实现都是可替换 ... -
Beyond Workflow : An Introduction to Vitria BusinessWare
2005-09-26 10:13 803一、简介 Busines ... -
Vitria BusinessWare: 存储与访问安全
2006-03-26 15:45 746事实上,BusinessWare使用LDAP做为存储机制和 ... -
Vitria BusinessWare: 平台与软件总线
2006-04-01 12:59 838经过一段时间的使用 ... -
Vitria BusinessWare: Web Services
2006-04-01 14:30 739BusinessWare的Web Services ... -
Web Services:自洽,编码,交换模型
2006-04-01 16:02 6731, 自洽 以前曾经写过: 目前WebServi ... -
Web Services:WSDL 1.1 规范中的几个错误
2006-04-01 16:40 720读完了WSDL 1.1的规范,令人惊讶的是发现似乎例子中有几个 ... -
C++/CLI:被忽视的集成技术
2006-05-17 20:02 755十几行代码,就使一个重要的旧系统组件,完全融入了基于.Ne ... -
AJP/JK:异构Web平台的集成技术
2006-05-25 21:44 708Tomcat Connector 可以将Tomcat ... -
Vitria BusinessWare: 事件与端口
2006-05-27 17:24 656Event BusinessWare是一个事件驱动的系统 ...
相关推荐
Inside the C++ Object Model focuses on the underlying mechanisms that support object-oriented programming within C++: constructor semantics, temporary generation, support for encapsulation, ...
C++成山似海的书籍堆中,这一本不是婴幼儿奶粉,也不是较大婴儿奶粉,它是成人专用的低脂高钙特殊奶粉。...如果你是一位C++程序员,渴望对于底层知识获得一个完整的了解,那么Inside The C++ Object Model正适合你。
《深度探索C++对象模型(Inside The C++ Object Model)》是Stanley B. Lippman的经典之作,这本书深入解析了C++的对象模型,揭示了C++底层的实现细节和工作原理。这篇学习笔记旨在帮助读者理解C++的内存管理、类的...
Inside The C++ Object Model专注于C++对象导向程序设计的底层机制,包括结构式语意、暂时性对象的生成、封装、继承,以及虚拟——虚拟函数和 ... 如果你是一位C++程序员,渴望对于底层知识获得一个完整的了解,那么...
《Inside the C++ Object Model》是一本深入探讨C++对象模型的专业书籍,中文版的发布使得更多中国读者得以理解C++这一复杂而强大的编程语言的底层机制。这本书由Stanley Lippman撰写,旨在帮助开发者深入理解C++的...
Inside the C++ Object Model focuses on the underlying mechanisms that support object-oriented programming within C++: constructor semantics, temporary generation, support for encapsulation, ...
《Inside the C++ Object Model》是一本由Stanley Lippman编著的深入解析C++对象模型的专业书籍。这本书详细探讨了C++编程语言在内存、类型系统、对象表示、继承、虚函数、模板等核心概念下的底层实现原理。通过阅读...
《Inside the C++ Object Model》这本书由Stanley Lippman撰写,是关于C++对象模型内部机制的深入探讨。本书集中讨论了支持C++面向对象编程的底层机制,包括构造函数语义、临时对象的生成、封装支持、继承以及虚函数...