type_traits.h】的更多相关文章

type_traits.h // Filename: type_traits.h // Comment By: 凝霜 // E-mail: mdl2009@vip.qq.com // Blog: http://blog.csdn.net/mdl13412 /* * * Copyright (c) 1997 * Silicon Graphics Computer Systems, Inc. * * Permission to use, copy, modify, distribute and se…
stl_algobase.h // Filename: stl_algobase.h // Comment By: 凝霜 // E-mail: mdl2009@vip.qq.com // Blog: http://blog.csdn.net/mdl13412 // 这个文件中定义的都是一些最常用的算法, 我仅仅给出一个思路, // 不进行详尽讲解, 具体算法请参考算法书籍, 推荐<算法导论> // 另外, 对于基础薄弱的, 推荐<大话数据结构>, 此书我读了一下 // 试读章节,…
前言 在STL中.算法是常常被使用的,算法在整个STL中起到很关键的数据.本节介绍的是一些基本算法,包括equal.fill.fill_n,iter_swap.lexicographical_compare.max,min.mismatch,swap,copy,copy_backward.copy_n.当中一个比較重要的算法就是copy.针对copy的剖析在源代码中能够看到具体的注解. 本文剖析的源代码出自SGL STL中的<stl_algobase.h>文件. 基本算法剖析 #ifndef…
__type_traits:双底线是说明这是SGI STL内部使用的东西,不在STL标准范围之内.iterator_traits负责萃取迭代器(iterator)的特性.而__type_traits则负责萃取型别(type)的特性. 我们所关注的型别特性是指:这个型别是否具备non-trivial defalt ctor,non-trivial copy cotr ,non-trivial assignment operator,non-trivial dtor[1] ,如果没有这些non-tr…
系统用的是centos 7.0最小化安装 我现在安装完了 写一下步骤 还没完全搞懂 首先安装GCC [root@localhost ~]# yum install -y gcc gcc-c++ 已加载插件:fastestmirror base | 3.6 kB 00:00 extras | 3.4 kB 00:00 updates | 3.4 kB 00:00 Determining fastest mirrors * base: mirrors.yun-idc.com * extras: mi…
protobuf安装/使用原本是要在官网上下载的:http://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz可惜已被墙,幸好有好心人提供了以下地址:http://pan.baidu.com/s/1pJlZubT 为了说明安装过程中文件的作用,我就指定目录安装了: ./configure --prefix=/usr/local/protobuf/ make make check make install 当然,安装前需要确保自己安装了gcc…
traits编程技法大量运用于STL实现中.通过它在一定程度上弥补了C++不是强型别语言的遗憾,增强了C++关于型别认证方面的能力. traits编程技法是利用“内嵌型别”的编程技法和编译器的template参数推导功能实现的. iterator_traits 1.对于class type要求其“内嵌型别” 要求与STL兼容的容器,其迭代器必须定义一下五种型别: iterator_category 迭代器类型 value_type 迭代器所指对象类型 difference_type 迭代器间的距…
操作系统:centos 6.4STL源码版本:3.3 前言:    要看一个项目的源码,首先要选中切入点.    那么在sgi stl 标准库中,其切入点是什么呢?    答案是:stl_config.h 文件. 不同的编译器对C++语言的支持程度不尽相同.为了具备广泛移植能力,SGI STL  定义了一个环境组态文件<stl_config.h>.其中声明了许多宏定义,在预编译的时候,通过这些宏定义来编译出对于平台的程序. 1,stl_config.h在linux平台下的实现:        …
微软公司开发的visual c++6.0堪称史上最易用.最成熟的开发工具.vc6以其小巧.轻便赢得了程序员的喜爱,以至于在VS大行其道的时代,很多程序员仍然使用vc6作为开发工具,vc6的欢迎性可见一斑.可惜vc6有一个缺点,那就是不能开发ogre应用程序.网上的教程,链接已经过时.个人也是查找了好多资料,搞了整整一上午才终于配置得差不多,但仍然失败了好几个,不过已经不影响大局了.ogre是一个极其复杂的工程,它借助了许多的第三方库,比如说boost.stlport.所以编译ogre也是一个相当…
一.迭代器 1. 迭代器设计思维——STL关键所在 在<Design Patterns>一书中对iterator模式定义如下:提供一种方法,使之能够依序巡访某个聚合物(容器)所含的各个元素,而又无需暴露该聚合物的内部表达方式. STL的中心思想在于:将数据容器(containers)和算法(algorithms)分开,彼此独立设计,最后再以一贴胶着剂将它们撮合在一起.容器和算法的泛型化,从技术角度来看并不困难,C++ 的class templates 和 function templates…