저는 보통 코드에 std :: string을 사용 합니다만, 단순한 비교를 위해 매개 변수에 문자열을 전달할 때 리터럴을 사용하는 것이 더 낫습니다. ? 여전히 사용하는 것이 더 좋을 것이다, 속성이이 벡터는과의 비교를하고 있다는 사실에도 불구하고std :: string 대 함수의 문자열 리터럴
bool Message::hasTag(string tag)
{
for(Uint tagIndex = 0; tagIndex < m_tags.size();tagIndex++)
{
if(m_tags[tagIndex] == tag)
return 0;
}
return 1;
}
, 그리고 어떤이 기능은 아마에 문자열을 전달합니다 사용
이 기능을 고려 어쨌든 문자열 리터럴처럼 사용될 새로운 문자열을 만드는 것을 피하기 위해 const char *?
클래스/구조체 유형의 매개 변수는 특별한 이유가없는 한 항상 참조 (아마도 const 참조)에 의해 전달되어야합니다. –
"네임 스페이스 표준을 사용하면 안됩니다." 귀하의 코드입니다. 문제가 생길 겁니다, 약속드립니다. – amro
@amro using namespace std; 헤더 파일이 아닌 소스 파일에서 완벽하게 정상입니다. –