"this"关键词,这是什么意思?
"this" keyword, what does this mean?
我在谷歌上搜索了关键词"this",他们中的大多数人都给出了类似的例子。
http://www.geeksforgeeks.org/this-pointer-in-c/http://www.tutorialspoint.com/cplusplus/cpp_this_pointer.htm
当我遇到这个,
Token::~Token() {
if(this == nullptr) { return; }
.... }
这根本没有道理。"这"指的是什么?如果它指向"token",它是如何做到的?
this
只是指向函数所属类的当前对象的指针。它更像是一个隐藏的参数,传递给c++类的每个NON-STATIC方法。它只是指向一个类的特定实例以及对象所拥有的所有数据。举个例子:
Token::~Token() {
if(this == nullptr) { return; }
.... }
This
只是指向Token类的析构函数的对象。
if(this == nullptr) { return; }
更具体地说,上面的if语句是查看对象的实例是否等于null引用。
不鼓励在c++中使用NULL
检查this
。当在指向类的NULL指针上调用方法时,this
可能为NULL。一个例子:
Token* token = nullptr;
token->~Token();
代码应该首先检查令牌是否为NULL,而不是在析构函数中检查NULL。
Token* token = nullptr;
if (token)
token->~Token();
此链接解释您的问题:http://www.viva64.com/en/b/0226/
谷歌和Foxit是如何在pdfium:中解决这个问题的
https://bugs.chromium.org/p/pdfium/issues/detail?id=4https://groups.google.com/forum/#!topic/pdfium/8mTxtmle4ok
相关文章:
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- 标准 N3337 5.2.10 第 7 条中的C++"类型"是什么意思?
- "类模板示例<int>;"语句对 C++11 是什么意思?
- 线应该是什么意思
- "CID"在AT+HTTPPARA= "CID" ,1中是什么意思
- 表达式"b=(b-x)&x"是什么意思?
- 这个表达是什么意思?
- 此代码验证公式是什么意思?
- 跟踪日志中的T.11803()是什么意思?
- 这个额外的关键字在这个 c++ 类声明中是什么意思?
- * 和 ** 在 C++ 函数声明中是什么意思?
- _T("xyz")是什么意思?
- #define Dbg(fmt,..) (0) 是什么意思? 警告:表达式无效
- 这行代码到底是什么意思?
- 当我们说在执行程序时将操作系统的控制权传递给main()函数时,我们的意思是什么
- 这句话在c++中的意思是什么
- 这个typedef的意思是什么
- 这句话的意思是什么
- 意思是什么
- 这个句法的意思是什么?