#include 这个头文件是C++里自带的头文件吗?

追_逐 2013-10-15 07:52:32
#include <type_traits> 这个头文件是C++里自带的头文件吗?
...全文
446 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
追_逐 2013-10-16
  • 打赏
  • 举报
回复
我的QQ:787910081
追_逐 2013-10-16
  • 打赏
  • 举报
回复
引用 6 楼 supermegaboy 的回复:
需要type_traits中的什么东西?有很多traits是可以自己做的。
是这样的,我现在正在学AUTOCAD 的二次开发,用OBJECTARX。 我跟着书的安装好环境之后,创建了一个简单的项目,可是编译通不过。 就是这个头文件找不到。 我用VS2010 新建了一个WIN32项目添加这个头文件是可以通过的。 不过我是用VS2010打开,但是需要用V90(vs2008) 版本编译才行。 你说要安装什么BOOST 你那有安装包吗?传一个给我好吗? 拜托了!
飞天御剑流 2013-10-15
  • 打赏
  • 举报
回复
需要type_traits中的什么东西?有很多traits是可以自己做的。
飞天御剑流 2013-10-15
  • 打赏
  • 举报
回复
引用 4 楼 su_787910081 的回复:
[quote=引用 3 楼 supermegaboy 的回复:] C++语言标准。支持C++11的编译器带有这个头文件。例如VS2010以上、g++4.6以上,还有IBM的、INTEL的等等一大堆。
那我在VS2008 上想使用这个头文件有没有办法做到呢?[/quote] 安装boost
追_逐 2013-10-15
  • 打赏
  • 举报
回复
引用 3 楼 supermegaboy 的回复:
C++语言标准。支持C++11的编译器带有这个头文件。例如VS2010以上、g++4.6以上,还有IBM的、INTEL的等等一大堆。
那我在VS2008 上想使用这个头文件有没有办法做到呢?
飞天御剑流 2013-10-15
  • 打赏
  • 举报
回复
C++语言标准。支持C++11的编译器带有这个头文件。例如VS2010以上、g++4.6以上,还有IBM的、INTEL的等等一大堆。
追_逐 2013-10-15
  • 打赏
  • 举报
回复
引用 1 楼 supermegaboy 的回复:
C++11或者boost的头文件
C++11是什么意思?
飞天御剑流 2013-10-15
  • 打赏
  • 举报
回复
C++11或者boost的头文件
I.引言 在Basic(俺的入门语言),Pascal等语言中都提供了定长字符串类型,各有特色,Basic的 是长度固定,超出截断,不足补空格;;pascal的是最大长度限制在某个范围. 虽然定长字符串有这样那样的缺点(例如长度有限,弄不好会丢失数据;;) 定长字符串还是有一定的好处,主要是: 1.不分配在堆上,从而不会造成内存碎片 2.静态分配内存,分配速度快 因此我写了一个定长字符串类,用作轻量级的字符串.类似于pascal的定长字符串,也采用也采取饱和的方式来处理溢出. II.简介 主要类有: 1. template<;typename T,typename Traits=std::char_traits<;T>; >; class basic_small_string_base;; 这是定长字符串的基类,适用于各种字符类型,当然也支持";火星人的三字节字符";. 模板类的代码主要实现在该类中.该类是抽象类,不能够实例化. 2. template<;typename T, size_t MaxSize, typename Traits=std::char_traits<;T>; >; class basic_small_string;; // : public basic_small_string_base<;T,Traits>; 特定长度的定长字符串模板类.如果C++标准支持模板typedef的话,下面的4的俩类就不用再写了,遗憾的是还不支持,所以他也是抽象类.//其实做成可实例化的类也没任何问题。 3. typedef basic_small_string_base<;char, std::char_traits<;char>; >; small_string_base;; typedef basic_small_string_base<;wchar_t, std::char_traits<;wchar_t>; >; small_wstring_base;; 针对char和wchar_t(我特讨厌这后面的_t这根尾巴)两种字符类型的基类的和默认traitstypedef.写函数参数类型的时候可以少写几个字, ^=^ 4. template <;size_t MaxSize, typename Traits=std::char_traits<;char>; >; class small_string;; // : public basic_small_string<;char, MaxSize,Traits>; 这是定长字符串的基类,适用于各种字符类型,当然也支持";火星人的三字节字符";. 模板类的代码主要实现在该类中.该类是抽象类,不能够实例化. 2. template<;typename T, size_t MaxSize, typename Traits=std::char_traits<;T>; >; class basic_small_string;; // : public basic_small_string_base<;T,Traits>; 特定长度的定长字符串模板类.如果C++标准支持模板typedef的话,下面的4的俩类就不用 再写了,遗憾的是还不支持,所以他也是抽象类.//其实做成可实例化的类也没任何问题。 3. typedef basic_small_string_base<;char, std::char_traits<;char>; >; small_string_base;; typedef basic_small_string_base<;wchar_t, std::char_traits<;wchar_t>; >; small_wstring_base;; 针对char和wchar_t(我特讨厌这后面的_t这根尾巴)两种字符类型的基类的和默认traitstypedef.写函数参数类型的时候可以少写几个字, ^=^ 4. template <;size_t MaxSize, typename Traits=std::char_traits<;char>; >; class small_string;; // : public basic_small_string<;char, MaxSize,Traits>; template <;size_t MaxSize, typename Traits=std::char_traits<;wchar_t>; >; class small_wstring;; // : public basic_small_string<;char, MaxSize, Traits>; 真正能实例化的ANSI和WCHAR版本的定长字符串类. III.用法 该模板类用法和std::string一样,可以参考它的文档.另外为了兼容std::basic_string<;>;, 还提供了和std::string搭配的一些额外功能,比如函数的字符串参数都支持 std::basic_string.可以与std::basic_string<;>;进行比较,转换,连接等. 1. 包含头文件 #include";small_string.hpp"; 2.引入cfc命名空间 using namespace;; // 可以略去 3.实例化对象 cfc::small_string<;16>; s=";hello";;; // 一个缓冲区长度为16的定长字符串,内容为";hello"; // 最大长度为15,而不是16,注意! 作局部变量时效率上基本上等于 char s[]=";hello";;;低于char *s=";hello";;;原因很简单. 可以和std::string协同操作: std::string s3 = s;; s = s3;; 4.作为函数参数 作为非模板函数的参数传递时,参数的类型应该写成cfc::small_string_base&或者 cfc::small_wstring_base& ,根据需要,可以加上const: void foo(cfc::small_string_base& str) { str=";hello";;; } int main() { cfc::small_string<;32>; s;; foo(s);; } 其他插入,比较,删除等操作跟std::string一样 IV.实现 利用模板的最大缓冲区长度参数,实例化模板,把缓冲区作为数组直接建立在对象的内部. 为了减少代码膨胀,大部分功能都移入基类. V.结尾. 由于时间仓促,经历有限,经验不足,缺点错误肯定不少,欢迎大家批评指正. 谢谢!

64,636

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧