일반적인 질문 : 일반적으로 클래스, 네임 스페이스가 정의됩니다.복잡한지도에 대한 typedef는 어디에 정의합니까?
내 경우 :에
std::map<const std::pair<string, string>,const string*>
내가 어디 공공 장소에서 (클래스에 넣어 좋은 장소입니다 궁금 :) 나 : 만이 내 클래스 구현에 매핑 사용하고
둘러싸는 헤더 파일? 당신이이 일을 지정하려면 대부분의 것들과 마찬가지로,
class Foo
{
public:
void some_functions(void);
private:
typedef std::pair<std::string, std::string> StringPair;
typedef std::map<StringPair, std::string> StringPairMap;
StringPairMap _stringMap;
}
명확히하려면 : 그것은 단지 클래스에 있으면 나는 일반적으로 민간 부분의 상단에 넣어, 네임 스페이스를
나는 상상할 수 있지만, 매개 변수 목록에 'void'가 있으면 내 눈이 아프다. – avakar
나는 항상 더 명확하게 발견했습니다. 이 함수 호출은'int i = perform_calc()'입니다. 거기에'void '가 없으므로 거기에'void'를 넣어서 함수를 읽을 때 더 이상 문맥을 기억할 필요가 없습니다 ("this는 함수 호출 또는 함수 정의입니까?") – GManNickG
void를 들여다 보았을 때, 너에게로 돌아 가라. – Eugene