[問題] (已解決)特殊的變數/函式宣告方式的意義

看板C_and_CPP作者 (Guan-Jie Huang)時間6年前 (2017/11/11 03:22), 6年前編輯推噓6(6014)
留言20則, 8人參與, 6年前最新討論串1/1
可能有點標題內文不符, 是說昨天在leetcode上面看到一段code, 他函式/變數的宣告方式有點複雜, 具體code如下: static int SPEED_UP = [](){ ios_base::sync_with_stdio(false); cin.tie(0); return 0; }(); 完整的code則在此 https://goo.gl/LY6wAQ 。 大概可以理解這是不執行cin清buffer的動作, 可是那個 [](){ … }() 是第一次看到這寫法, 也不知道如何具體描述並且查詢, 也不太像跟命令式/表達句相關的東西, 還請各位熟門路的老司機帶個路惹QAQ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.25.103 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1510341754.A.5F0.html

11/11 03:24, 6年前 , 1F
c++11的lambda
11/11 03:24, 1F

11/11 03:32, 6年前 , 2F
太神惹 感謝一樓XD
11/11 03:32, 2F
※ 編輯: layu19920414 (49.219.130.101), 11/11/2017 03:33:35

11/11 20:37, 6年前 , 3F
這個寫法可以讓這個function在main之前執行嗎?
11/11 20:37, 3F

11/11 21:53, 6年前 , 4F
有神快拜!!
11/11 21:53, 4F

11/11 23:05, 6年前 , 5F
@james 它是 static global 啊
11/11 23:05, 5F

11/11 23:05, 6年前 , 6F
[](){...} 是個 lambda, 在它後面貼個 () 呼叫它
11/11 23:05, 6F

11/12 00:24, 6年前 , 7F
不使用lambda有辦法達到一樣的效果嗎?
11/12 00:24, 7F

11/12 00:25, 6年前 , 8F
剛剛在想用lambda有什麼好處,就看到後面的()
11/12 00:25, 8F

11/12 00:37, 6年前 , 9F
functor啊
11/12 00:37, 9F

11/12 02:28, 6年前 , 10F
用 lambda 有閉包,不知道算不算好處啦
11/12 02:28, 10F

11/12 09:43, 6年前 , 11F
跟std的algorithm搭配神方便 又可以限制scope
11/12 09:43, 11F

11/12 09:44, 6年前 , 12F
好用度算是僅次於type deduction吧
11/12 09:44, 12F

11/12 09:59, 6年前 , 13F
functor得將class設計成滿足STL需求,lambda不用考慮
11/12 09:59, 13F

11/12 09:59, 6年前 , 14F
這些
11/12 09:59, 14F

11/12 10:59, 6年前 , 15F
話說動態初始化是否在main之前是implementation-defin
11/12 10:59, 15F

11/12 10:59, 6年前 , 16F
ed
11/12 10:59, 16F

11/12 13:26, 6年前 , 17F
咦所以這個function什麼時候被呼叫是看實作的?
11/12 13:26, 17F

11/12 15:44, 6年前 , 18F

11/12 15:44, 6年前 , 19F
zation
11/12 15:44, 19F

11/12 15:46, 6年前 , 20F
裡面的deferred dynamic initialization
11/12 15:46, 20F
文章代碼(AID): #1Q1VnwNm (C_and_CPP)