Lazyfoo.net 튜토리얼에서 SDL을 배우고 있습니다. "32_text_input_and_clipboard_handling"장에서 아래 코드가 어떻게 올바르게 작동하는지 이해할 수 없습니다.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 이벤트를받지 못하고 있다는 것을 확인/무시하는 것이다 (나는 아직도 응답을 기다리는 담당자를 lazyfoo하는 메일을 보냈지 만) 튜토리얼,하지만 어떻게? 이 코드에는 두 개의 "& &"연산자가 있으므로 중괄호 안에 코드를 실행하려면 세 가지 조건이 모두 충족되어야합니다. 수단
는 코드 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로 작동하는 방법 ???
if는 부정됩니다. 드 모르간 정리를보세요 –
물건을 나열하는 대신 질문을 제목으로 기술하십시오 –
"ctrl과 c/v"는 무슨 뜻입니까? –