1 STL概论与版本简介

1 STL概论与版本简介

1.8 SGI STL文件分布

C++标准规范下的C头文件(无扩展名),如cstdio,cstdlib等;

C++标准程序库中不属于STL范畴者,如stream,string;

STL标准头文件(无扩展名),如vector,deque,list等;

C++标准定案前,HP标准规范的STL头文件,如vector.h,deque.h等;

SGI STL内部文件(STL真正实现于此),例如stl_vector.h,stl_xxx.h。

备注:SGI -- Silicon Graphics [Computer System] Inc.  硅图[计算机系统] 公司。

 

1.9 令人迷惑的组态

组态设置文件<stl_config.h>,包含于<vector>等头文件中。

参考链接:http://www.cnblogs.com/feisky/archive/2009/11/04/1596203.html

组态3:__STL_STATIC_TEMPALTE_MEMBER_BUG:模板类中的静态变量。(对应于参考链接中1)

组态5:__STL_CLASS_PARTIAL_SPECIALIZETION:一般化设计之外,对某些参数做特殊设计。(对应于2)注意:全局函数、类的成员函数不能半特化。

组态6:__STL_FUNCTION_TMPL_PARTIAL_ORDER:类模板与函数模板。(对应于3)

组态8:__STL_MEMBER_TEMPLATES:类模板中包含成员函数模板。(对应于4)

组态10:__STL_LIMITED_DEFAULT_TEMPLATES:根据前一个模板参数,设置下一个参数的默认值。(对应5)

组态11:__STL_NON_TYPE_TMPL_PARAM_BUG:模板中使用non-type模板参数(如size_t,int)。(对应6)

其他:__STL_NULL_TMPL_ARGS(定义为<>或为空,bound friend template friend)。(对应7)

__STL_TEMPLATE_NULL(定义为template<>或为空):如GCC允许不指定template<>来进行特化。

 

注意1:对于静态常整量(可以是int、long、char),可以直接在类中赋予初值,如static const long data = 3L;

注意2:前置++与后置++(可参考《more effective C++》):

//prefix ++
INT& operator++(){
	++(this->m_i);
	return *this;
}
//postifx ++
const INT operator++(int){
	INT temp = *this;
	++(*this);
	return temp;
}


 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值