std::map<std::string, A *> m;
っていうコンテナ作りました。

これだと、Aを丸々コピーしなくても問題ないですよね?

あと格納したオブジェクトをoperator()を実装して呼び出せば
関数呼び出しのコストはかからないですよね?