我從Lazyfoo.net教程學習SDL,在「32_text_input_and_clipboard_handling」一章中,我無法理解下面的代碼是如何工作的。 (我發送的郵件lazyfoo聯絡人,但仍然在等待回覆)SDL/C++ &&運算符 - Lazyfoo教程
if(!((e.text.text[0] == 'c' || e.text.text[0] == 'C') &&
(e.text.text[0] == 'v' || e.text.text[0] == 'V') &&
SDL_GetModState() & KMOD_CTRL))
{
//Append character
inputText += e.text.text;
renderText = true;
}
這個代碼功能是忽略/檢查我們沒有得到一個CTRL和C/V的事件,它正在爲每教程,但如何? 這個代碼中有兩個「& &」運算符,這意味着必須滿足所有三個條件才能執行花括號內的代碼!
這意味着,將碼忽略
CTRL C和V按以下圖像
Image Link for Ctrl + C + v (Ctrl AND c AND v)
代替
CTRL和c/v爲根據以下圖片
Image Link for Ctrl + C/v (Ctrl AND c OR v)
但一些它是如何工作的,如C++/SDL CTRL和C/V ???
如果否定。看看德摩根定理 –
請問你的問題標題描述的問題,而不是僅僅列出的東西 –
「ctrl和c/v」是什麼意思? –