本文主要是介绍深度探索C++ 对象模型(6)-Data member的绑定,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- 防御性程序设计
1).将class声明起头处放data member;
代码示例:
class Point3d{ float x,y,z;
public://etc
}
2). class的声明处放inline function
代码示例:
class Point3d{
public: Point3d();float X() const;//对在类体内定义的函数,一般都省写inline
}
- 嵌套的 typedef
示例,输出结果在代码中指出
namespace dataMemberBinding {class Point3d {public://length被决议为global//_val被决议为Point3d::_val length mumble() {cout << typeid(_val).name() << endl;return _val;}private:typedef int length;length _val;};void test_dataMemberBinding(){ Point3d p;p.mumble(); //结果为intcout << typeid(p.mumble()).name();//结果为float cout << endl;}
}
【引用】
[1]: <<深度探索C++ 对象模型 Inside The C++ Object Model >> Stanley B.Lippman 候捷 译
[2]: 代码地址 https://github.com/thefistlei/cplusStudy.git
这篇关于深度探索C++ 对象模型(6)-Data member的绑定的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!