
C++
jacob-
这个作者很懒,什么都没留下…
展开
-
static和extern声明全局变量的区别和问题
staticstatic变量存放在静态存储区,具备持久性和默认值;static修饰全局变量时该变量仅可以在声明编译单元中使用,在其他编译单元中使用时会复制一份相同的内存,但是在其他编译单元中对该变量的修改并不影响声明编译单元中定义的值;因为会复制内存使用,所以多个地方引用静态全局变量所在的编译单元,不会出现重定义错误;。2:尽量以const,enum,inline替换 #defineconst: #define直接替换导致名称从未被编译...原创 2018-08-20 21:26:16 · 8531 阅读 · 1 评论 -
typedef的四个用途和两大陷阱
一、四个用途用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如: char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量; 以下则可行: typedef char* PCHAR; // 一般用大写 PCHAR pa, pb; // 可行,同时声明了两个指向字符变量的指针 虽然...转载 2018-09-03 13:36:11 · 333 阅读 · 0 评论 -
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 · 8678 阅读 · 0 评论 -
静态成员变量和静态成员函数用法
总结自各处大佬博客,仅供学习静态成员变量:静态成员变量只能被初始化一次,且不该在头文件中初始化,初始化格式为: <数据类型> <类名>::<静态成员变量名> = <值>引用静态成员变量时,格式如下: <类名>::<静态成员变量名>静态数据成员被类的所有对象所共享,包括该类派生类的对...原创 2018-09-24 16:30:00 · 572 阅读 · 0 评论 -
使用引用时的注意项
引用只是变量的别名,一个变量可以有多个别名 声明引用时必须同时进行初始化,且声明之后不能再作为其他变量名的引用 因为引用不是一个对象,所以不能定义引用的引用,不能建立引用的数组 对于临时变量,不要返回他的引用 指针可以为空,而引用不能为空 指针比引用更为灵活,反过来,引用比指针更加安全 常引用声明方式: const <类型标识符> &<...原创 2018-09-24 17:32:40 · 415 阅读 · 0 评论 -
c++顺序容器详解
顺序容器:c++提供的容器分为顺序容器和关联容器。顺序容器也称为序列式容器。序列式容器按元素插入的顺序存储元素,这些元素可以进行排序,但未必是有序的。1、arrayarray内部是一个固定数组,是连续存储结构,定义时便要指定大小(如:array<int,10> a),随机访问(operator[ ]和vetor.at( ))效率很高。 array分配内存的位置取决于定义的...原创 2018-10-08 22:29:39 · 899 阅读 · 0 评论