次のように:
#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
、確かに文字列を使用する必要がありますか?