正如標題所述。例如,你有值的char值[11]的服務,您通過循環參數內部的名單要循環:C++ - 一種更有效的方法來解決循環參數中的列表
while(something not in values[])
{
doSomething(omgwtfbbq)
}
但是,當然,它不能用C++工作......還是讓我覺得。至少'not'關鍵字不存在。
任何人都可以建議,如果有這樣的溶劑?
正如標題所述。例如,你有值的char值[11]的服務,您通過循環參數內部的名單要循環:C++ - 一種更有效的方法來解決循環參數中的列表
while(something not in values[])
{
doSomething(omgwtfbbq)
}
但是,當然,它不能用C++工作......還是讓我覺得。至少'not'關鍵字不存在。
任何人都可以建議,如果有這樣的溶劑?
好的,這個問題已經解決了,但是在評論中回答我的人沒有發佈完整的回覆,所以我會在這裏發佈答案。
將列表更改爲矢量vector<char> values[4]
。然後使用Raymond Chen建議的查找功能:
while(find(values.begin(),values.end(),something)==values.end())
{
doSomething(eatBananas)
}
如果Raymond Chen發佈了明確的答案,我會標記他的。
您可以使用@Deepu建議的方式,但更清潔和更健壯的解決方案是使用系統中存在的事件機制。在一個線程中,您需要等待所需鍵按下事件,而在另一個線程上,您將攔截按鍵中斷並分析數據。如果它包含所需的值,則指示需要按下的按鍵事件。
em ...好的。我不完全明白你在這裏說什麼。這聽起來像一個GUI程序將使用的事件驅動。但是控制檯應用程序?根據具體情況,向用戶提供不同數量的可能的「正確」答案。 我的理解是否正確? – eltaro
沒有什麼限制這個GUI應用程序,這是一般的方法 – SomeWittyUsername
然後我懷疑我將能夠實現這在我目前的狀態。我不知道控制檯應用程序中的線程和事件。 – eltaro
從技術上講,'not'不是**關鍵字**,而是**在C++中重新標識的標識符**。但是,這種區別非常微妙。對於不允許直接使用'not'的編譯器,請嘗試包括''頭文件(這樣的編譯器不符合標準,但是:標準C++需要在不使用頭文件的情況下支持'not') –
I包括和試圖使用: while(something not in values []) 但不是沒有定義的高亮。雖然現在已經被認可。 是的,我無法得到它的工作。到目前爲止,我對C++的知識還很有限。 –
eltaro
你確定你需要'while(某些不在值[])'而不是'if(某些不在值[])'中? – SomeWittyUsername