एक लैम्ब्डा कब तुच्छ होने की गारंटी है, अगर कभी?लैम्ब्डा तुच्छ कब होता है?
मुझे लगता है कि अगर यह केवल मामूली प्रकार या कुछ भी नहीं लेता है, तो यह मामूली होगा। हालांकि मेरे पास वापस करने के लिए कोई मानक-ese नहीं है।
मेरी प्रेरणा विजुअल सी ++ 12 से 14 के कुछ कोड को स्थानांतरित करने में थी और लैम्बडास से निपटने के दौरान कुछ स्थैतिक आवेषण विफल हुए, मुझे लगता है कि मैं तुच्छ माना जाता हूं।
उदाहरण:
#include <type_traits>
#include <iostream>
using namespace std;
int main()
{
auto lambda = [](){};
cout << boolalpha << is_trivially_copyable<decltype(lambda)>{} << endl;
}
यह vs140 पर false
लेकिन vs120 और बजना में true
पैदा करता है। जीसीसी> = 5 के आसपास होने के कारण मैं जीसीसी का परीक्षण नहीं कर सका। मुझे उम्मीद है कि यह बनाम40 में एक प्रतिगमन है, लेकिन मैं यहां सही व्यवहार का निश्चित नहीं हूं।
जीसीसी 5.2 भी 'सत्य' उत्पन्न करता है: [डेमो] (http://coliru.stacked-crooked.com/a/a7dc4ee4e32fb70a) – Jarod42