* 디시 글쓰기 병신이라 co★ut가 금칙어로나와서 저렇게써둠
#include <string> 하지 않고도
#include <iostream> 만으로도 string을 사용할수있잖음?
가령
#include <iostream>
using namespace std;
int main()
{
string s1 = "dc";
co★ut<<s1<<endl; // 에러
co★ut<<s1.c_str()<<endl; // 정상출력
return 0;
}
같은식으루 말이야?
#include <iostream>
#include <string>
할경우에는
co★ut<<c1<<endl; 이 가능해지고.
이런것만 봐도 #include <iostream> 에 들어있는(?) string과
#include <string> 에는 분명한 차이가 있는거같은데
차이점이나 주의점이 뭐임?
대강 나오는 얘기가 #include <iostream> 의 string은 믿지마라
쓸꺼면 #include <string>해서 써라... 라는거같은데
단순히 iostream에 << 연산자 오버로딩이 구현되지 않은것일뿐임?
그것도 이해가안가는게 왜 그런 반쪽짜리를 만들어논거지?
iostream에 string이 구현된건 string이 필요한뭔가가있어서
딱그수준으로만 만들어둔거고, string의 제대로된(?) 기능같은거는
<string>에 제대로 더 만들어둔건가??
아 컴파일러에따라 iostream의 내용이다른것 때문에 문제가있을까봐 string을 따로 include하라는거같은데.. 맞나
ㅇㅇ 구현한새끼 맘대로
저런식으로 딸려오는 의존성 그냥 아예 접근 못하게 했으면 좋겠음
끙ㅋㅋ
string 구조체는 있는데 출력 오버로딩 안해놔서여
c str 해버리면 스트링 객체가 아니라 콘스트 케릭터 * 가 되니깐 출력 가능해지져