我的 C++ 文件如下:
class LogMessage {
public:
LogMessage(const char* file, int line)
:
#ifdef __ANDROID__
log_stream_(std::cout)
#else
log_stream_(std::cerr)
#endif
{
std::unique_lock<std::mutex> lk(mu_);
log_stream_ << "[" << pretty_date_.HumanDate() << "] " << file << ":"
<< line << ": ";
}
~LogMessage() { log_stream_ << "\n"; }
std::ostream& stream() { return log_stream_; }
protected:
std::ostream& log_stream_;
private:
DateLogger pretty_date_;
mutable std::mutex mu_;
LogMessage(const LogMessage&);
void operator=(const LogMessage&);
};
Run Code Online (Sandbox Code Playgroud)
当我在 Ubuntu 上编译它时
g++ -std=c++11 -msse2 -fPIC -O3 -ggdb -Wall -finline-functions -I./src -I./include …
我想知道两个结果为何不同?
代码是?
string s1="35",s2="255";
cout<<(s1>s2)<<" "<<("35">"255")<<endl;
Run Code Online (Sandbox Code Playgroud)
输出为:
1 0