我遇到了以下程序,該程序編譯時不會出現錯誤甚至警告:int main(){ <:]{%>; // smile!}該程序做什么,那笑臉是什么?
3 回答

大話西游666
TA貢獻1817條經驗 獲得超14個贊
該程序使用有向圖表示以下內容:
[] {};
這是一個不執行任何操作的lambda表達式。相應的符號具有以下等效項:
<: = [
%> = }
盡管現在通常不需要二字圖,但是當鍵盤缺少使用C ++基本源字符集(即圖形化的字符集)所需的某些鍵時,二字很有用。組成有向圖的字符組合作為單個標記處理。這又彌補了任何配備不足的鍵盤或其他此類硬件或軟件。

慕蓋茨4494581
TA貢獻1850條經驗 獲得超11個贊
int main(){
<:]{%>; // smile!
}
它基本上是使用二字圖的Lambda表達式(Lambda表達式是C ++ 11的功能之一)(二字圖和三字圖都適用于C ++):
[] {};
僅使用有向圖:
<:]<%};
<:]<%%>;
[:>{%>; // like my cubic hat?
[:><%};
[:><%%>;
將它們與Trigraphs混合:
<:??)<%??>; // popeye
??(:>{??>; // pirate
- 3 回答
- 0 關注
- 487 瀏覽
添加回答
舉報
0/150
提交
取消