해결된 질문
작성
·
736
0
#include <algorithm>만으로도 max사용이 가능한데 왜 std::를 붙이셨는지 이유를 모르겠습니다.저는 std::없이 출력해도 값이 나오는데 이해가 안가네요 max라는 함수는 algorithm에서 이미 정의되있는거 아닌가요? std::안에도 max가 있다는건 무슨 말인가요?
#include
#include
using namespace std;
int main()
{
cout << max(1+3,3) << endl;
}
답변 4
1
1
선언은 서로 다른 영역에서 하고 있지만 같은 namespace라고 보는 것이 맞습니다.
max도 역시 using namespace std;을 넣어주면 붙여도 안붙여도 됩니다.
1
using namespace std; 를 입력하셨기 때문에 cout, endl 을 std:: 입력없이 사용가능하다 라는 것은 이해하시고 계신가요? 이 경우 붙여도 되고 안붙여도 됩니다.
algorithm 안에도 _STD_BEGIN이 있어서 std라는 namespace가 존재하는데 max는 그 안에 선언되어 있습니다.
0
네네 using namespace std를 붙여서 std::입력없이 사용가능한것은 알고있습니다.
그럼 cout,endl의 std와 max의 std는 다른것인가요? cout,endl은 using namespace std로 std::를 생략해서 쓸수 있는건데 max는 붙인걸 보면 std라는 이름만 같은거라고 이해하면 될까요?