我正在编写一个简单的函数来根据一组应命名为 cam1_0.bmp、cam1_1.bmp 的文件派生一个新文件名,并尝试了这个.
static int suffix = 0; std::string fPre("cam"); std::ifstream fs; std::string fName; do { fName = fPre; fName.append(std::to_string(camera)).append("_").append(std::to_string(suffix)).append(".bmp"); fs.open(fName); } while (fs.good() && ++suffix);
这行得通,它让我想知道对于 0 或 1 以外的数值,对应的布尔值的标准定义行为是什么.通过这个实验,我知道所有值(包括 0 以外的负值)都评估为真.按照标准,只有0被认为是假的吗?