簡體   English   中英

“ 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; }
.... }

只是沒有意義。 “這個”指的是什么? 如果它指向“令牌”,它是如何做到的?

this只是指向該函數所屬的類的當前對象的指針。 它更多是傳遞給c ++類的每個NON-STATIC方法的隱藏參數。 它只是指向類的特定實例以及對象擁有的所有數據。 因此,對於您的示例:

Token::~Token() {
if(this == nullptr) { return; }
.... }

This只是指向Token類的析構函數的對象。

if(this == nullptr) { return; }

更具體地說,上面的if語句查看對象的實例是否等於空引用。

檢查thisNULL在C ++是氣餒。 this當該方法是在一個NULL指針到類調用可以是NULL。 一個例子:

Token* token = nullptr;
token->~Token();

該代碼確實應該首先檢查token是否為NULL,而不是在析構函數中檢查NULL。

Token* token = nullptr;
if (token)
  token->~Token();

該鏈接說明了您的問題: http : //www.viva64.com/en/b/0226/

Google和Foxit如何在pdfium中解決此問題:

https://bugs.chromium.org/p/pdfium/issues/detail?id=4 https://groups.google.com/forum/#!topic/pdfium/8mTxtmle4ok

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM