1. namespace
namespace를 쓰지 않고 바로 using std::cout 도 가능
#include <iostream>
int main() {
using std::cout;
using std::endl;
cout << "hello " <<endl;
}
2. auto
- auto는 초기화도 같이 이루어져야 한다.
- auto는 파라미터 타입에는 사용될 수 없다 -> 파라미터 타입에 사용하고 싶으면 template을 사용하자!
#include <iostream>
auto add(int x, int y)
{
return x + (double)y;
}
int main() {
using namespace std;
auto result = add(1, 2);
return 0;
}
3. trailing
#include <iostream>
auto add(int x, int y) -> double
{
return x + (double)y;
}
int main() {
using namespace std;
auto result = add(1, 2);
cout << result << endl;
return 0;
}
4. 암시적 형변환
예시) numeric conversion 더 작은 범위로 형변환이 됐을 때 -> 문제가 됨
#include <iostream>
int main() {
using namespace std;
//numeric conversion
int i = 30000;
char c = i;
}
5. 명시적 형변환
1) C-style cast -> ex) (float)1
2) static_cast
3) const_cast
4) dynamic_cast
5) reinterpret_cast
char c = 'a';
std::cout << static_cast<int>(c) << std::endl; // prints 97, not 'a'
'코딩 > C++' 카테고리의 다른 글
열거형(enum) (0) | 2024.03.05 |
---|---|
입력받는 법 (0) | 2024.02.22 |
전역변수, static 변수, 내부 연결, 외부 연결 (0) | 2024.02.19 |
비트플래그, 비트마스크 (0) | 2024.02.17 |
const (0) | 2024.02.17 |