一步步来,先简单点.目标:我们要实现一个模板类,例化后,可以通过get_val获取到值,通过get_ptr获取到指针.具体什么意思结合例子来看看吧.例子:
struct A{int data;A(int _data = https://www.huyubaike.com/biancheng/0):data(_data){}};template class heap_node{ public:typedef Tval_type;typedef T* ptr_type;typedef T& ref_type;ptr_type data;ref_type get_val() { return *data; }ptr_type get_ptr() { return data; }heap_node(ptr_type d) :data(d){printf("<T> (T*)\n");}heap_node(ref_type d) :data(&d){printf("<T> (T)\n");} }; int main() {A a(10);printf("ptr=%p\n",&a);heap_node<A> p0(a);printf("ptr=%p val=%d\n", p0.get_ptr(),p0.get_val().data);heap_node<A> p1(&a);printf("ptr=%p val=%d\n", p1.get_ptr(), p1.get_val().data); /*heap_node<A*> p2(a);printf("ptr=%p val=%d\n", p2.get_ptr(), p2.get_val().data);heap_node<A*> p3(&a);printf("ptr=%p val=%d\n", p3.get_ptr(), p3.get_val().data); */char ch = getchar();}(不要在类里直接保存值类型的数据,可以用指针或者引用都可以)发现heap_node<A
经验总结扩展阅读
-
-
-
-
-
-
仲念念|#情感#观点系列插图:电视剧《微微一笑很倾城》剧照01.|你爱的人和爱你的人,你更愿意和谁结婚?
-
-
202010月10日流星雨几点 是什麽星座的流星雨
-
-
-
-
李渊驾崩前留给李世民的遗言是什么,为什么李世民要当耳旁风呢?
-
-
-
-
-
保湿|这些保湿修复乳液补水保湿、细致毛孔、提亮肤色,你喜欢哪款?
-
不入虎穴焉得虎子是什么意思 不入虎穴焉得虎子的解释
-
-
哥哥按时打钱给老人养老|哥哥按时打钱给老人养老,弟弟赖在家不出门,老人却埋怨哥哥不孝