C++常量指针this
来源:互联网 发布:博彦科技大数据 编辑:程序博客网 时间:2024/06/06 07:37
在成员函数内部可以用指针常量this来访问与成员函数的调用相关联的对象(this是一个关键字)。
假设我们已经设计了一个File类,它有一个成员函数copy,该函数定义如下:
void File::copy(File& dest){if(this == &dest) //can't copy File to itselfreturn;//otherwise, copy this File to dest//...}if语句用来对如下调用进行检测:
f1.copy(f1);在这里f1是File的对象,f1以它本身作为参数,调用自己的copy成员函数。copy成员函数中的if语句就是用来防止将一个文件拷贝到它自身这样不合理的做法,其检测方法是判断this与&dest是否指向相同的对象。在实际编程中这是一种常用的检测手段。
this指针是一个常量,它不能作为赋值、递增、递减等运算的目标对象。此外this只在非static成员函数中用才有效。
class C{public:void m(const C& obj){this = &obj; //**** ERROR; this is a constant//...}static void s(){this->count = 0; //**** ERROR; static method!}private:static int count;};本例有两个错误,在成员函数m中,我们试图给常量this赋值是错误的;而在static成员函数s中,我们试图访问this也是错误的。
0 0
- C++常量指针this
- C++-指针常量和常量指针
- C常量指针 与指针常量区别
- C指针常量和常量指针
- C常量指针 与指针常量区别
- C/C++指针常量和常量指针
- C/C++ 常量指针,指针常量
- C/C++ 常量指针,指针常量
- C/C++ 指针常量和常量指针
- C语言指针常量
- C 指针&&表达式&&常量
- 指针和常量 c
- 【C/C++】this指针
- C++this指针、智能指针
- 【C++】this 指针
- C++this指针
- C++this指针
- C++this指针
- VS2013中使用Git建立源代码管理
- ReviewBoard 的安装和使用(二)—— 邮箱的配置
- $.ajax type为post时 contentType 设置为 'application/json' 会有问题
- linux内核中操作文件的方法--使用get_fs()和set_fs(KERNEL_DS)
- android user 版本如何默认adb调试为打开
- C++常量指针this
- Benchmarking Designs[list]
- Xcode开发调试技巧—断点调试
- iPhone6 微信视频通话没有声音
- mySQL中replace的用法
- Android App开发中的适配
- 苹果支付整理
- Android常用工具类之 Log工具类
- 高性能ListViews