次のように:
#include <set>
std::set<const char *> global = std::set<const char *>();
void x() {
const char *c = "a";
const char *d = "b";
global.insert(c);
global.insert(d);
}
int main() {
x();
for (std::set<const char *>::const_iterator iter=global.begin(), end=global.end(); iter!=end; ++iter) {
printf("%s\n", *iter);
}
return 0;
}
結局、さすがに受け取りa、b印刷しました。
それでも、たとえば、そのセットがbozoオブジェクトの一部であった場合、そのセットとして、の存続期間が終了するまで続くという保証はありますbozoか?それともstrdup、確かに文字列を使用する必要がありますか?