C언어
c++ 공부 요점정리 1
뮹실이
2013. 10. 26. 23:18
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 | // 1. 입출력 // // 과거 표준 출력 // // 과거 표준 헤더 cout << 출력대상; cout << 출력대상1 << 출력대상2 << 출력대상3; cout << 1 << 'a' << "string" << endl; // endl : 줄바꿈(버퍼비움) // << : shift 연산 // // 현재 표준 출력 // // 새 표준 헤더 std::cout << 출력대상; std::cout << 출력대상1 << 출력대상2 << 출력대상3; std::cout << 1 << 'a' << "string" << std::endl; // // 과거 표준 입력 // int val1, val2; cin>> val1; cin>> val2; int result = val1 + val2; // c++은 변수선언이 함수의 중간에 올 수 있다. // c에서는 함수의 윗부분에 변수 선언해야한다. cout<< "덧셈 결과 : " << result << endl; // // 현재 표준 입력 // int val1, val2; std::cin>> val1; std::cin>> val2; // 같은 의미 : std::cin>> val1 >> val2; int result = val1 + val2; // c++은 변수선언이 함수 어디서든지 가능 // c에서는 함수의 윗부분에 변수 선언해야함 std::cout<< "덧셈 결과 : " << result << std::endl; // 2 함수 오버로딩 // c는 함수 이름 중복 불가 // c++은 함수 이름 중복 가능 // 같은 함수이름을 가지는 함수로 // 전달하는 매개변수(인자값) 갯수 or 타입이 달라야함 int int // or int int // // 디폴트 매개 변수 // int // func함수 호출시 매개변수 전달이 없으면 // 0이 전달된것으로 처리 // 함수 선언과 정의를 분리할 경우 // 디폴트 매개 변수 선언은 함수 선언부에 한번만 정의해야함 int int int // 함수 오버로딩과 디폴트 매개변수를 동시에 사용할 경우 // 에러 발생 가능 int int int // 함수오버로딩할 경우는 디폴트 매개변수 사용하지 않는게 좋음 // 3 인라인(in line(source code)) 함수 // 대표적 인라인화 : 매크로 // c 에서는 전처리기에 의해 처리 // 하지만 복잡한 경우에는 구현하기 어려움 // c++ 에서는 컴파일러에 의해 처리(디버깅이 쉬움) // 컴파일러에게 최적화의 기회 제공 // inline 키워드를 사용해서 성능이 떨어질 경우 // 컴파일러가 inline 키워드를 무시하고 // 일반 함수로 처리해버림 // 구현 하기 쉬움 inline int // 4 이름공간(namespace) // 이름 충돌을 막기위해서 // 공간에 이름을 주는 행위 // // 이름공간 설정 전 // void void void // // 이름공간 설정 // void // std 란 namespace !!! // // 편의를 위한 using 선언 // using a::func; // a 라는 이름공간안의 함수(또는 변수)를 호출할 때는 // 그냥 func라는 이름으로만 사용하겠다는 의미 // 즉 using a::func; // 위 두개가 같은 의미 using ; // a 라는 이름공간안의 함수나 변수를 그냥 사용하겠다는 의미 using ; // 를 선언함으로써 std:: 를 생략할 수 있지만 // 이름 충돌이 발생할 수 있으므로 using std::cout; using std::cin; using std::endl; // 이렇게 쓰는것을 추천 // // 범위 지정 연산자 기반 전역 변수 접근 // int val = 100; int // 문제 해결 방법 int val = 100; int |