所以我有以下代码:
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main() {
vector<string> strs;
strs.push_back("happy");
const string& a1 = strs[0];
strs.push_back("birthday");
const string& a2 = strs[1];
strs.push_back("dude");
const string& a3 = strs[2];
printf("%s\n", a1.c_str());
return 0;
}
这很简单,但它不起作用。printf不打印任何内容。如果我将其更改为:
const string& a1 = strs[0].c_str();
有人可以解释一下它的行为吗?