bool find_key(Obj *obj, char *name)
{
if (*obj->name == *name)
{
return true;
}
return false;
}
bool find_key2(Obj obj, char *name)
{
if (obj.name == name)
{
return true;
}
return false;
}
결과는 똑같은데..
bool find_key(Obj *obj, char *name)
{
if (*obj->name == *name)
{
return true;
}
return false;
}
bool find_key2(Obj obj, char *name)
{
if (obj.name == name)
{
return true;
}
return false;
}
결과는 똑같은데..
후자는 sizeof(Obj) 만큼 스택에 오버헤드.
전자는 포인터형 변수 하나 넘기는 오버헤드.
그럼 전자가 오버헤드가 더 적으니 좋은거네요? 'ㅅ'
좋은 요약.
감사합니당 ㅜㅜ
bool find_key2(const Obj& obj, char *name)
꼰스트
근데 저게 C스트링을 비교하겠다 이런 의미면 전부 다시 짜라
클래스형이겠지.
operator== 정의된.
name이 char*인걸 보니 위는 첫 한글자만 비교하고 아래는 문자열 포인터랑 뭔가를 비교하는듯.. 위는 뭔가 확실히 이상하고 아래는 연산자 오버로딩 하면 ok일듯