自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

C++ STL概述

注:参考自《The C++ Standard Library》 一、基本概念 1. 名字空间std 三种使用方式: (1) 直接用标识符std限定修饰。如: std : : cout << std : : hex << 3.4 << std : : endl; (2) 使用using声明。如: using std : : cout; us...

2006-01-14 17:39:00 71

C++ Template学习笔记之函数模板(7)——重载函数模板

函数模板可以被重载。如: // 类模板Array的定义 template <typename Type> class Array { /* . . . */ }; // main()的三个函数模板声明 template <typename Type> Type min( const Array<Type>&, int );// #1 template...

2006-01-12 16:48:00 68

C++ Template学习笔记之函数模板(6)——模板显式特化

我们并不总是能够写出对所有可能被实例化的类型都是最合适的函数模板。在某些情况下,我们可能想利用类型的某些特性,来编写一些比模板实例化的函数更高效的函数。在有些时候,一般性的模板定义对于某种类型来说并不适用,这时我们必须为函数模板实例化提供特化的定义。 在模板显式特化定义(explicit specialization definition)中,先是关键字template和一对尖括号<&g...

2006-01-12 15:36:00 98

C++ Template学习笔记之函数模板(5)——模板编译模式

一、包含编译模式 在包含编译模式下,我们在每个模板被实例化的文件中包含函数模板的定义,并且往往把定义放在头文件中,象内联函数所做的那样。如: // model1.h // 包含模式:模板定义放在头文件中 template <typename Type> Type min( Type t1, Type t2 ) { return t1 < t2 ? t1 : t2; } 在每...

2006-01-12 15:05:00 58

C++ Template学习笔记之函数模板(4)——显式模板实参

在某些情况下编译器不可能推演出模板实参的类型。如笔记(2)中所举的例子,如果模板实参推演过程为同一模板实参推演出两个不同的类型,则编译器会给出一个错误,指出模板推演失败。 在这种情况下,我们需要改变模板实参推演机制,使用显式指定(explicitly specify)模板实参。模板实参被显式指定在逗号分隔的列表中,用尖括号<>括起来,紧跟在函数模板实例的名字后面。如: templ...

2006-01-12 11:31:00 66

C++ Template学习笔记之函数模板(3)——模板实参推演

当函数模板被调用时,对函数实参类型的检查决定了模板实参的类型和值,这个过程被称为模板实参推演。 其通用算法如下: 1. 依次检查每个函数实参,以确定在每个函数参数的类型中出现的模板参数; 2. 如果找到模板参数,则通过检查函数实参的类型,推演出相应的模板实参; 3. 函数参数类型和函数实参类型不必完全匹配。下列类型转换可以被应用在函数实参上,以便将其转换成相应的函数参数的类型: (1)....

2006-01-11 23:05:00 85

C++ Template学习笔记之函数模板(2)——函数模板实例化

函数模板指定了怎样根据一组或更多实际类型或值构造出独立的函数。这个构造过程被称为模板实例化。这个过程是隐式发生的,它可以被看作是函数模板调用或取函数模板的地址的副作用。 为了判断用作模板实参的实际类型和值,编译器需要检查函数调用中提供的函数实参的类型。用函数实参的类型来决定模板实参的类型和值的过程被称为模板实参推演。我们也可以不依赖模板实参推演过程,而是显式地指定模板实参。 在取函数模板实例的...

2006-01-11 22:47:00 56

C++ Template学习笔记之函数模板(1)——函数模板定义

说明:本笔记是参考《C++ Primer(3rd)》中文版 函数模板提供了一种机制,通过它可以保留函数定义和函数调用的语义(在一个程序位置上封装了一段代码,确保在函数调用之前实参只被计算一次),而无需象宏方案那样绕过C++的强类型检查。如: template <class Type> Type min(Type a,Type b) { return a<b? a : b; ...

2006-01-11 22:13:00 74

OpenGL精确选择与连线DEMO(含源码)

上次我写了《通过读取Z Buffer深度值将屏幕2D坐标转化为场景3D坐标》,这个DEMO就是基于这篇文章的。比如我们想用鼠标依次选择一堆球中的2个小球用线将它们串连起来,怎么用OpenGL实现呢? 首先,在鼠标移动时将鼠标的屏幕坐标转化为3D场景坐标。然后,当第一次按下鼠标左键时,判断转化后的场景坐标是否在某个球体上,若在,则该球体被选中,将该坐标作为连线段的起点;当第2次按下鼠标左键时,同...

2006-01-05 11:24:00 72

神奇的视觉艺术

请聚精会神地盯着下图中央的十字看,你就会发现,周围紫色的圆点渐渐地淡下来,甚至消失。 最后只剩下一个绿色的圆点在那里转。是不是很神奇啊! ...

2006-01-04 18:02:00 71

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除