<iostream.h>는 C++의 표준안이 확립되기 전에, 관습처럼 사용되던 표준 입출력 라이브러리의 헤더였습니다. 현재의 C++표준안이 확립된 것은 1998년으로, 최초의 C++표준 문서는 ISO/IEC 14882:1998 이었죠. 따라서, 1998년 이전에 출시된 개발 툴은 관습적으로 <iostream.h>헤더를 포함하여 나왔습니다.
표준안 논의 과정에서 네임스페이스가 포함되고, 모든 표준 라이브러리의 요소를 std 네임스페이스에 넣어야 한다고 결정함에 따라, 기존 헤더에 선언되어 있던 전역 요소들 때문에 더이상 같은 파일이름을 사용해서는 안되는 상황이 된 것이죠. 즉, 어떤 환경에서는 <iostream.h>파일을 포함하면 cout이 std 네임스페이스에 소속되어 있어서 cout 이라는 이름을 사용자가 사용하였는데, 다른 환경에서는 표준 스트림 라이브러리의 cout이 전역에 소속되어 있다면, 당연히 컴파일시 에러를 내겠죠. 이러한 문제 때문에 기존에 사용되던 모든 C++표준 라이브러리에 있던 모든 요소는 std 네임스페이스에 넣고 .h 확장자를 제거하여 헤더를 제공하는 것으로 표준안이 마련되었습니다. 더불어 기존 C 표준라이브러리의 요소 역시 std 네임스페이스에 소속시키고, .h확장자를 제거하고 c접두어를 붙인 헤더에 담아 제공하게 되죠. 즉, <stdio.h> => <cstdio> , <math.h> => <cmath> 와 같은 식의 헤더 역시 기존 C스타일 헤더와 더불어 제공합니다. 물론, C++표준 라이브러리의 헤더는 확장자가 없는 표준 헤더만을 제공하죠.
결론적으로, .h 확장자가 붙는 헤더는 과거, 1998년 이전의 관습을 따르던 것이며, .h확장자가 없는 것이 1998년에 제정된 표준을 따르는 표준 헤더입니다. 이 두 헤더 사이의 결정적인 차이점은, 구성 요소의 이름이 std네임스페이스에 소속되어 있느냐 아니냐의 차이이죠. 표준헤더(<iostream>)는 std 네임스페이스에 선언되어 있으며, 이전의 관습적 헤더(<iostream.h>)는 전역으로 선언되어 있습니다.
<iostream>을 선언하고
using namespace std; 를 사용하면 cin cout을 사용할 수 있다.
<iostream>만 선언할 경우에는 scanf, printf와 같은 함수를 사용할 수 있다.
::NPTEAM:: Network Programmer Team - 최근 공지
글 분류
새 글
걸린 글
바깥 고리
- SETLOCAL ENABLEDELAYEDEXPANSION
- Create a Windows Service Application Using the Boost.Application Li...
- MS-SQL UDF insert
- Self Delete File
- SQL 저장 프로시저 비교하기
- 분산 프로그래밍
- 원격 프로세스 관리
- 쿼리툴
- 홀펀칭 관련
- Connection Strings
- DataBaseBrowser
- DB Comparer
- DB MSSQL Schema Diff
- DB 구축·운영 종합정보
- MSSQL Application Lock
- mysql 관련
- Recover sa password(MSSQL)
- sql export
- sqlite spy
- Trinity DB Schema
- 개발자 폰트(d2coding)
- 본고딕 - 노토산스CJK(Noto Sans CJK)
- Git core.commentChar
- Git reflog - 복원
- Git resolving deltas stuck
- Git resolving deltas with git over ssh
- Git 간편 안내서
- Shrink GIT repository
- Concurrent Hashmap(https://github.com/preshing/junction)
- Docker AWS에 배포
- grammer-check
- Jenkins could not start when disabled internet
- Jenkins 설치 가이드
- Lets encrypt(CentOS7, nginx)
- Lets encrypt(Ubuntu, nginx)
- docker devicemapper full
- Linux encoding
- LVM
- Ssh와 Rsync를 이용한 백업
- subsonic encoding(LINUX)
- ubuntu 404 update error
- Lock Object Performance
- RWLock TestCodes
- Testing RW Locks
- synology 7 to 6 downgrade
- java socks proxy
- Proxy Search
- Python IDE(Pyscripter)
- python proxy(http)
- Python 메일(SMTP)
- Python multiprocess
- python tips
- Python UTF8
- PythonGraph
- openssl(precompiled)
- SCM SSL
- SSL Certificate check
- svn+ssh
- Win7 Openssh
- svn status codes
- svn 대소문자 방지 hook script
- SWF to AS3 script
- Icon8(FreeIcons)
- Wow UI Escape Sequence
- CFF Explorer
- command 관리자 권한으로 실행(ele.exe)
- command 관리자 권한으로 실행(reg)
- contab generator
- crontab 생성기
- docx to PDF
- Dummy file 생성
- echotool
- Excel Diff 비교 툴
- Excel table to Redmine Wiki format
- JSON Editor
- log expert
- Mouse Without borders
- mremote(원격 터미널)
- MSWord - HWP(아래아한글) 변환
- NCFTP
- Online HEX Converter(Big, Little Endian)
- PDF 프린터(무료)
- TCP Ping
- Textify(텍스트복사)
- TMeter Net-Limiter
- Tree for windows(console)
- Unicode Search Tool
- Web Photo editor
- 스크린샷 기반 GUI 자동화 툴
- 아이콘 변환(http://converticon.com/)
- 윈도우 설치 USB 만들기(rufus)
- 윈도우에서 Ext 파일 시스템 mount
- 화면 공유 및 원격 제어 프로그램
- 가상 이미지(VDI,VHD,VMDK,ISO..) 웹 탐색
- Crome Vimium
- TextEditor에서 Gvim으로 편집하기
- vim best tips
- vim cast
- vim plugin(visual studio)
- vim tutorial videos
- Vim 입문 강좌
- umdh memory leak
- Untably replacement
- VisualStudio always project is out of date.(프로젝트 파일 빠진 것...
- VisualStudio Property 설정
- VisualStudio Version 관리
- VS macro with python
- vs2012/2013 boost visualizer
- VS2012/2013 debugging option
- VS2013 재배포 파일 목록
- 컴파일 타임 캡슐화에 대한 Pimpl
- Disk2VHD
- How to reset password in Ubuntu Virtual Machine.
- Hyper-V 검사점 수동 병합
- Vmdk to VHDx
- vTPM
- Windows Virtual Hard disk
- LoL Stat
- poedit(다국어지원)
- pootle(다국어지원)
- AWS 구성도
- RealWorld PlantUML
- 오픈소스 라이선스 비교표
- michal.karzynski 블로그
- 박PD님의 블로그
- 오종빈님 블로그
- 온라인서버제작자모임
- 윤석균님 블로그
- 자바워크님 블로그
- 최흥배님 블로그
- 수학 공식을 그래프로 출력
- 수학백서
- 움직이는 수학
- C# reference source microsoft
- docker 파일 탐색기
- GitExtension IME
- kvpm (KDE Volume Partition Manager)
- 파워포인트 슬라이드 번호 표시
- 'Death Stranding': An AI Postmortem
- 코골이 원인
- GanttProject
- pomodoro + kanban(포모도로 타이머 + 칸반차트)
- Team gantt
- Trello 일정관리
- asp core login authentication
- asp core reset or forgot password
- autohotkey
- BingMapLayer
- bithacks
- blazor cookie authentication
- Boost Binaries
- Boost command line argument processing
- Boost Lib 설명
- boost::sharedPtr 속도 관련
- BoostAsio Sample
- C# CommandLine Parser
- c# decompiler
- C# logging(serilog)
- C# Strongly-typed ids
- C# Threading
- C# 버전별 정리(ohyecludy)
- C++ Header 포함 관계 그래프
- C++ Reference
- C++ reflection(Ponder)
- Cave Generator
- CompileTime Hash
- CompileTime Hash #02
- Doom3 Full Source
- dotnet 6 publish single file
- dotnet to service(windows, linux)
- etcd
- exception cost
- Exception Handling
- google-breakpad 빌드 방법
- Jwt auth in asp net core
- kbengine UE4 demo
- lamda 속도 측정
- LFH
- linux swap size
- LLVM callgraph
- Log4cplus
- Log4cplus(github)
- machine-id
- memurai (redis-compatible-cache)
- MSBuild command define
- MSBuild Overwrite property
- non boost asio
- p3x-redis-ui
- std::allocate_shared #1
- std::allocate_shared #2
- std::make_shared 관련
- std::priority_queue 주의점
- Strong PasswordGenerator
- Symmetric and Asymmetric Encryption
- TC2BotCore
- The Evolution of Synchronization in Windows and C++
- UAT-Automation
- UML 툴
- VisualStudio Color
- VisualStudio license
- Web Viewer(XML, Json)
- XML Differ
- XML Editor(freeware)
- XML 파서
- xmlto(json, csv, sql)
- 강의(Khanacademy)
- 구글 IP 정규식 생성기
- 온라인로고메이커
- 유니코드, UTF-8, UTF-16, UTF-32
- 정규표현식
- 정규표현식 검사기
- 코드공유사이트
- 퀘스트 관련 논문
- 한글 유니코드 테이블
보람말
방문자
- 모두
- : 324284
- 오늘
- : 123
- 어제
- : 656
덧글을 달아 주세요
비밀방문자 2008/02/17 22:06 고유주소 고치기 답하기
관리자만 볼 수 있는 댓글입니다.