>>840
気になったのでやってみた。特に問題はないようだが
struct A {
void print() const {
std::cout << "A" << std::endl;
}
A(int j = 0) : i(j) {}
private:
const int i;
};

class T1 {
std::map<std::string, A*> m1;
public:
std::map<std::string, A*>& get() { return m1; }
void set(std::map<std::string, A*>& m) { m1 = m; }
};

int main()
{
T1 x;
std::map<std::string, A*> m, m2;
m["abc"] = new A(1); m["def"] = new A(2);
x.set(m);
m2 = x.get();
m2["abc"]->print(); m2["def"]->print();
}