c
-
C++左值和右值(详解版)
前面讲过,引用是一个变量,它引用其他变量的内存位置。例如,来看以下代码: int x = 34;int &lRef = x; 在该代码中,标识符 IRef 就是一个引用。在…
-
C++ ++和–运算符重载详解
++ 运算符,还可分为前缀 ++ 和后缀 ++ 运算符。 重载前缀++运算符 C++ 允许重载前缀运算符,以使表达式 ++b 能递增 b 的长度值,并返回结果对象。该运算符可以作为…
-
赋值运算符重载(C++实现)详解
C++ 允许程序员重新定义标准运算符在与类对象一起使用时的工作方式。 正如前面所介绍的,复制构造函数的设计是为了解决包含指针的对象在通过按成员赋值的方式使用同一类的另一个对象的数据…
-
C++静态成员函数(无师自通)
通过将关键字 static 放置在声明语句的前面作为前缀,可以将类的成员函数声明为静态成员函数。 静态成员函数的一般形式为: static <return type>&…
-
C++静态成员变量详解
默认情况下,每个类的对象(类的一个实例)都有它自己的类的成员变量副本。一个对象的成员变量与同一个类的其他对象的成员变量是独立分开并且有区别的。 例如,来看以下声明: class W…
-
C++智能指针unique_ptr详解
在一个大型程序中,指向动态分配内存的指针可能会在程序的各个部分使用。在这种情况下,确定哪些内存不再需要,或者程序的哪个部分应该负责删除指针就变得比较困难。 程序可能会因此出现悬挂指…
-
C++指针作为函数参数(详解版)
《函数引用传递》一节,我们介绍了用作函数形参的引用变量,引用变量其实就是原始变量的别名,该原始变量用作实参。这样的设计使得函数可以访问原始实参变量,从而允许它更改变量的内容。当为一…
-
C++指针比较大小(详解版)
可以使用 C++ 的任何关系运算符来比较指针,包括 >、<、==、!=、>=、<=。 如果内存中的一个地址在另一个地址之前,则第一个地址被认为是 "…
-
指针初始化(C++)详解
请记住,指针被设计为指向特定数据类型的对象。当使用一个地址初始化指针时,它必须是指针可以指向的一个对象的地址。 例如,下面的 pint 定义是合法的,因为 myValue 是一个整…
-
数组和指针的关系(区别)详解
我们知道,没有方括号和下标的数组名称实际上代表数组的起始地址。这意味着数组名称实际上就是一个指针。下面程序通过显示与间接运算符一起使用的数组名称来说明这一点。 // This pr…