下面的例子中,我将fn作为指向常量c-string的const指针.当我声明并将不相关的其他const指针分配给不同的常量c-string时,原始fn会被修改.我一直在试图找出原因,但看不出可能导致这种情况的原因是什么?
输出:
原始fn:sampleStrWithExtension
修改后的fn:randomStr2ModifiedFn
int main() {
std::string baseString = "sampleStr";
std::string randomBaseString = "randomStr2";
const char* const fn = (baseString + "WithExtension").c_str();
std::cout << "Original fn: " << fn << std::endl;
const char* const variableNotFn = (randomBaseString + "ModifiedFn").c_str();
std::cout << "Modified fn: " << fn << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud) c++ ×1