快捷搜索:   服务器  安全  linux 安全  MYSQL  dedecms

深度探索C++对象模型第七章

    站在对象模型的尖端

    7.1 Template

    Template的“具现”行为 (template instantiation)

    编译器看到template的声明,并不做任何的事情,只有等到template instantiation的时候, 定义出一个template class object 或者 template class refrence(引用必须初始化),才会相应的准备template class 内部的数据排放等等,此时在template class 内部声明的static data member 也才会有内存。而仅仅声明一个template class pointer 并不会有template instantion .注意: 在template class instantiation的时候,其内部的member functions 并不同时跟着被“实体”化。只有在member functions 被使用的时候, C++ Standard才要求他们被具现出来。原因有二:可能某个程序只使用其中的几个member functions,没有必要为所有的member function 都具现,消耗大量的空间和时间;另外,由于template classs 是generic programming ,所以某些member function 并不是对任何带入的class

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论