학교에서 C++ 안하고
win32api랑 Java만 하고 졸업하고 MFC를 다뤄는 봤지만 C++을 생으로 해본적이 없어
저번달에는 Lisp 조금 해보고 이제 이번달에는 C++!ㅋㅋ
참조한 책은 Essential C++ (스탠리 B.립먼)
1. 책을 보다보니.. int a(0); 으로도 초기화가 된다고?!
2. cout 을 써봅시다 + long double 형?
c++에서는 .h를 제외하고 하는데 stdio 를 대체 하는 녀석은 바로 iostream!
근데 cout이 안돼!!! 난 햄보칼수가 없엉 ㅠ.ㅠ
cout의 경우에는 std::cout 으로 std에 포함된 cout 이기 때문에
굳이 저 소스로 하려면 std::cout << sizeof(ld_t) << '\n'; 으로 해야 한다.
그게 아니라면 간편하게 using namespace 를 이용해서 std를 기본으로 쓰도록 설정해준다.
그리고 gcc 에서도 long double을 지원하기는 하는데.. 12byte 짜리(96bit ?!) 녀석이다.
win32api랑 Java만 하고 졸업하고 MFC를 다뤄는 봤지만 C++을 생으로 해본적이 없어
저번달에는 Lisp 조금 해보고 이제 이번달에는 C++!ㅋㅋ
참조한 책은 Essential C++ (스탠리 B.립먼)
1. 책을 보다보니.. int a(0); 으로도 초기화가 된다고?!
#include <stdio.h> void main()
{
int a(0);
}
|
컴파일을 해보면 다른 소스라서 일단 제대로 되지 않으니 일단은 50%는 실패?
특이하게도 g++은 무조건 int main()으로 강제한다.
아래가 제대로 만든 c++ 소스. int a(0) 로도 초기화가 되는 신비함!!
(일단 a가 int형 객체일 경우 컨스트럭터로 인자를 하나 받아 초기화 해준다고 생각하면 간단하려나?)
특이하게도 g++은 무조건 int main()으로 강제한다.
$ gcc test.c
test.c: In function ‘main’:
test.c:5:8: error: expected declaration specifiers or ‘...’ before numeric constant
$ g++ test.c
test.c:3:11: error: ‘::main’ must return ‘int’ |
아래가 제대로 만든 c++ 소스. int a(0) 로도 초기화가 되는 신비함!!
(일단 a가 int형 객체일 경우 컨스트럭터로 인자를 하나 받아 초기화 해준다고 생각하면 간단하려나?)
#include <iostream> int main()
{
int a(0);
return 0;
} |
2. cout 을 써봅시다 + long double 형?
c++에서는 .h를 제외하고 하는데 stdio 를 대체 하는 녀석은 바로 iostream!
#include <iostream>
//using namespace std;
int main()
{
int a = 0;
long double ld_t;
cout << sizeof(ld_t) << '\n';
return 0;
}
|
근데 cout이 안돼!!! 난 햄보칼수가 없엉 ㅠ.ㅠ
$ g++ test.c
test.c: In function ‘int main()’:
test.c:8:2: error: ‘cout’ was not declared in this scope
test.c:8:2: note: suggested alternative:
/usr/include/c++/4.6/iostream:62:18: note: ‘std::cout’
|
cout의 경우에는 std::cout 으로 std에 포함된 cout 이기 때문에
굳이 저 소스로 하려면 std::cout << sizeof(ld_t) << '\n'; 으로 해야 한다.
그게 아니라면 간편하게 using namespace 를 이용해서 std를 기본으로 쓰도록 설정해준다.
그리고 gcc 에서도 long double을 지원하기는 하는데.. 12byte 짜리(96bit ?!) 녀석이다.
'Programming > C++ STL' 카테고리의 다른 글
Essential C++ (0) | 2013.02.14 |
---|---|
참조에 의한 전달(pass by reference) (0) | 2013.02.09 |
unsigned char -> int 변환 주의사항 (0) | 2013.02.04 |
템플릿 메타프로그래밍 (0) | 2013.01.06 |
c++ template (0) | 2012.05.12 |