我们知道,比较两个匹配的字符串文字可以导致相等:
"hello" == "hello" //could be true or false
Run Code Online (Sandbox Code Playgroud)
对于lambdas也是如此:
[](){} == [](){} //false - guaranteed?
Run Code Online (Sandbox Code Playgroud)
编译器可以随意评估它,还是保证它会评估为false?这合法吗?以上实际比较了什么?
R. *_*des 24
你无法比较lambda的相等性.你在那个小片段中看到的是将lambda转换为函数指针然后比较函数指针.无法保证这些函数指针是否相同,这意味着结果可以是true或false.
| 归档时间: |
|
| 查看次数: |
191 次 |
| 最近记录: |