如何評價C 17中的新特性fold expression?

時間 2021-05-31 16:59:55

1樓:

不知道為啥這麼多人反對。。。雖然。。。有些複雜不直觀。。。而且功能不強大,還完全可以通過其他方式代替,同時其他方式的實現還可以完成更多的功能。

但是至少這種方法寫起來稍微。。。短那麼一些。。。

2樓:原子筆

C++標準委員會,只需引入乙個別的指令碼語言, 放預處理後編譯期前去解釋執行,就可以簡單解決這些各種問題(巨集的功能太弱,但是你叫++啊,怎麼可以一輩子都被C的那點功能約束住呢,好好增強一下預處理功能吧,比加強模版強多了)。

3樓:d41d8c

不用 fold expression

std::conjunction<

std::conjunction...>,

std::disjunction>...>

>::value

用 fold expression

(std::is_constructible_v && ...) &&

(!std::is_convertible_v || ...)

不過功能還是有點不同的(前者可以避免多餘的 instantiation)

不過如果是在concepts的語境裡,那麼fold expression也能避免instantiation(嘛,理論上),這時候

requires (std::is_constructible_v && ...) &&

(!std::is_convertible_v || ...)

甚至比std::enable_if_t<

std::conjunction...>std::disjunction>...>

>::value

>功能更強,並且fold expression好看多了

C 17 有哪些值得注意的新特性?

努力保持清醒的 最近一向有關TIOBE 程式設計言語排行榜,C 好像不進反退,不知為什麼會是這樣呢。話說C 寫起來感覺很不錯嘛,不知我們什麼感覺。turbo c 是老古董了,是DOS時代的C言語編譯器。Visual c 主要是用來編譯c 的,當然對c言語也是相容的。不過個人主張不要用Visual c...

如何評價 RAII 特性在 C 中的大範圍運用?

其實,沒有RAII的語言寫出來的模組就像拉完屎自己不擦屁股,要人家幫忙擦。不明白題主所說的欽定是什麼意思。按題幹的意思的話,我認為可能是指 沒有專門或者明顯的語法來表示RAII。如果是這個理解,那麼我只能說,這就對了。因為RAII的目標,就是要讓變數控制的資源的生存期嚴格等同於變數自身的生存期,而變...

如何評價艦c的新潛艇 47

夏至 我衝著立繪玩的,只從立繪說 我從前段船放出來就在罵了,接受不了,你遊玩家就是因為一次次下限被打破而審美滑坡的嚴重,這種現在沒亮點只能將就看的立繪放幾年前早被噴死了,而且實裝的限定還倆左腳,終究拿A某人襯托還是將就能看。順便ZECO的也一樣,早些時候大家把sara鴨滑做美艦標準,現在把JOJO弗...