我们知道, 在C/C++中有短路求值机制, 那为什么要这么做呢, 我自己思考,有两点:
1. 效率
2. 代码的优雅
如下:
#include <iostream>
using namespace std;
int main()
{
string s = "abc";
if(!s.empty() && 'a' == s[0])
{
cout << s.c_str() << endl;
}
return 0;
}
如果没有短路求值特性, 那么取s[0]的时候可能会core dump (当s为空串的时候)。
一点思索, 记录一下。