?? range.cpp
字號:
#include "Range.h"double convertArg(const char* arg){ if (!strcmp(arg, "Infinity")) { return HUGE; } else if (!strcmp(arg, "-Infinity")) { return -HUGE; } else { return atof(arg); }}istream& operator>>(istream& in, Range& r){ char c = ' '; do { c = (int)in.get(); } while (isspace(c)); // Handle missing if (c == 'M') { string s; in >> s; if (!s.compare("issing")) { r = Range(); } else { in.clear(ios::badbit); } return in; } else if (c == '(' || c == '[') { string minVS, maxVS; // Get first arg while (in.get(c) && (c != ',')) { minVS += c; } // Skip spaces do { in.get(c); } while (in && isspace(c)); // Get second arg maxVS = c; while (in.get(c) && (c != ')') && (c != ']')) { maxVS += c; } double minV = convertArg(minVS.c_str()); double maxV = convertArg(maxVS.c_str()); r = Range(minV, maxV); } else { int index; in.putback(c); in >> index; r = Range(index, index+0.01); } return in;}ostream& operator<<(ostream& out, const Range& r){ if (r.missing) { out << "Missing"; } else { out << "(" << r.minV << ", " << r.maxV << ")"; } return out;}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -