std는 cout이나 string같은 것들을 담아두는 방입니다.
좀 이상하지만...
예를 들면 어느 반에 string이라는 이름을 가진 학생이 있었습니다.
근데 또 다른 학생이 전학을 왔는데 그녀석 이름도 string이네요.
이 둘 중에 어느 학생을 부르려고 하는데 그냥 string이라고 부르면
누구를 부르는지 모호해지게 되죠.
그래서 한명만 이름을 덧붙여서 부르게되는데 여기에 해당하는게 std라고 보시면 됩니다.
걍 string이라고 하면 새로운 학생 이름이고 std라는 이름까지 덧붙여서 부르면 기존의 학생을 부르게 되었죠.
근데만약 새로온 string이라는 학생이 화장실에가서 기존의 한명만 있을때는 덧붙인 이름을 생략하고 string만 부르면 되잖아요.
C++에서는 using namespace std; 처럼 생략이 가능합니다.
그럼 걍 string 이라고만 써도 되죠.
namespace가 std를 가리키는 말인데 번역하면 이름공간이 됩니다.
김광수 님이 쓰신 글 :
:
:
:
:
:
:
:
Accelerated C++ 책 보다가 앞장부터 막히내요~
:
전체 문장은 대충 생략하구요..
:
const std::string spaces(greeting.size(),' ');
:
라는 문장에서 햇갈리는대요.
:
우선
:
1.spaces가 변수라고 책에서는 설명했는대 이건 제가 알고 있는 관점에서 보면 함수에 가까운대요.
:
size만큼의 공백문자를 채우라는 함수라고 생각하는대 이걸 변수라구 하니 참 난감하내요
:
이걸 변수라고 말하기전에 우선 std와 string에 대한 자세한 설명이 앞서야 되는대 이에 관해선 설명이 부실한거
: 같습니다..
:
얼래 보통 출력할려면 제가 배운내용대로라면 iso::cout 라는 걸 쓰는대 std라는 표준라이브러리?라는걸 쓰더군요.
:
std가 정확히 어떤 일을 하는지는 잘 모르겠습니다. 네임스페이스의 일부라는거밖에는 ㅡ.,ㅡ
:
네임스페이스가 어떤 이름들을 그룹화 시키는거라는대..쩝... 원서 샀더라면 첫장읽고 덮었을것 같습니다.
:
해석조차 힘드니 ..
:
변수안에 객체를 쓰구 컴포넌트(size)까지 정의하고 그걸 함수로까지 쓰다니 참 ~^^;;;;;;;;;;
:
:
암턴 책 내용은 제가 이해를 못하겠습니다.
:
알기쉽게 설명좀 해주세요 ㅠㅠ
:
:
:
: