- 博客(10)
- 收藏
- 关注
原创 static和extern声明全局变量的区别和问题
staticstatic变量存放在静态存储区,具备持久性和默认值;static修饰全局变量时该变量仅可以在声明编译单元中使用,在其他编译单元中使用时会复制一份相同的内存,但是在其他编译单元中对该变量的修改并不影响声明编译单元中定义的值;因为会复制内存使用,所以多个地方引用静态全局变量所在的编译单元,不会出现重定义错误;,随机访问(operator[ ]和vetor.at( ))效率很高。 array分配内存的位置取决于定义的...
2018-10-08 22:29:39
893
原创 使用引用时的注意项
引用只是变量的别名,一个变量可以有多个别名 声明引用时必须同时进行初始化,且声明之后不能再作为其他变量名的引用 因为引用不是一个对象,所以不能定义引用的引用,不能建立引用的数组 对于临时变量,不要返回他的引用 指针可以为空,而引用不能为空 指针比引用更为灵活,反过来,引用比指针更加安全 常引用声明方式: const <类型标识符> &<...
2018-09-24 17:32:40
410
原创 静态成员变量和静态成员函数用法
总结自各处大佬博客,仅供学习静态成员变量:静态成员变量只能被初始化一次,且不该在头文件中初始化,初始化格式为: <数据类型> <类名>::<静态成员变量名> = <值>引用静态成员变量时,格式如下: <类名>::<静态成员变量名>静态数据成员被类的所有对象所共享,包括该类派生类的对...
2018-09-24 16:30:00
565
原创 DirectX9.0例程:网格的创建与绘制
本例程演示了如何创建一个简单的立方体网格并进行绘制主要的流程如下:创建空网格对象 将立方体的面片数据写入网格缓存 指定网格中每个面片所属的子集 生成该网格的邻接信息 优化网格 绘制网格总结红龙书中的例程代码如下: d3dUtility.h#ifndef __d3dUtilityH__ #define __d3dUtilityH__ #include &l...
2018-09-15 17:50:38
1147
原创 short、int、long、long long、DWORD区别
查阅知不同的机器位下各类型所占用的字节数如下表: 类型 16位系统 32位系统 64位系统 short 2 2 2 int 2 4 4 long 4 4 8 long long 8 8 8 因为编译器可以根据硬件特性自主选择类型...
2018-09-10 15:41:51
8650
原创 DirectX9例程:绘制简单立方体
总结至红龙书提供的立方体绘制例程代码及重要函数: d3dUtility.h#ifndef __d3dUtilityH__ #define __d3dUtilityH__ #include <d3dx9.h> namespace d3d{ //初始化DirectX3D bool InitD3D( HINS...
2018-09-06 17:07:43
3746
转载 typedef的四个用途和两大陷阱
一、四个用途用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如: char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量; 以下则可行: typedef char* PCHAR; // 一般用大写 PCHAR pa, pb; // 可行,同时声明了两个指向字符变量的指针 虽然...
2018-09-03 13:36:11
327
原创 《Effective C++》 总结笔记
1. 让自己习惯C++1:视C++为一个语言联邦c++是多重范型编程语言,视c++包括4种次语言: 1:C; 2:Object-Oreinted C++;3:Template C++;4:STL(template程序库,包括容器、迭代器、算法和函数对象)。2:尽量以const,enum,inline替换 #defineconst: #define直接替换导致名称从未被编译...
2018-08-20 21:26:16
8518
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人