1) - . , " " .end(). , : .end(), , , ( ).
2) , . = , . , - drum roll - .
3) . . ( map find - /. , list, vector deque, std::find, <algorithm>.
4) ( , std::string), ( , ) const. ; , , . , , ++, , , , ? , .
, . - ( , ) NULL, . " " , , .
5) "" , - , . OTOH, , , , , .
6) typedefs.
, :
typedef map<string, vector<string> >::iterator graph_iterator;
graph_iterator edges_named(const string& node_name) {
return outgoing.find(node_name);
}
, :
typedef map<string, vector<string> >::iterator graph_iterator;
vector<string> edges_named(const string& node_name) {
graph_iterator it = outgoing.find(node_name);
return it == outgoing.end() ? vector<string>() : it->second;
}
, :
typedef map<string, vector<string> >::iterator graph_iterator;
vector<string>* edges_named(const string& node_name) {
graph_iterator it = outgoing.find(node_name);
return it == outgoing.end() ? NULL : &(it->second);
}
.