일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- nginx
- DBMS
- 6학년 8반 1분단
- I'm fine thank you
- 봄 사랑 벚꽃 말고
- 악보
- 장범준
- 기타
- DBMS 구성요소
- Inside Of Me
- 오라클
- IT
- SQL 처리
- 스위트라떼
- 인덱스
- 니가 참 좋아
- 핑거스타일
- 러블리즈
- 신입
- 데이터베이스
- 아이유
- 오라클 아키텍처
- 개발자
- index
- 슬픔의 후에
- db
- 말 더듬
- oracle
- 천공의 시간
- 레이디스코드
목록공대인/C[++] (9)
취미로 음악을 하는 개발자
함수 호출과 실행을 마치고 돌아오는 과정에서 다음과 같은 시간 소모가 발생한다. 그림 출처 이 오버헤드는 무시할 수 없는 심각성을 보여줄 때가 있는데 int odd(int x) { return x%2; } for (int i = 0; i < 10000; i++) odd(i); 위와 같은 코드가 있을 때 odd라는 함수는 1만번 호출하게 된다. 짧은 코드를 함수로 만들면 함수 호출의 오버헤드가 상대적으로 커서 프로그램 실행 시간이 길어지는 원인이 된다. 따라서 이렇게 짧은 코드는 함수로 만들지 않는 것이 좋다. 이렇게 짧은 코드로 구성된 함수 호출의 오버헤드를 방지하기 위해 inline 함수가 있다. 인라인 함수의 기능은 컴파일러가 인라인 함수의 호출부분을 코드 그대로 삽입하여 함수 호출이 일어나지 않게 ..
우리는 보통 클래스를 만들 때 private 변수와 public 변수를 만든다. private은 필드값, public은 private 값에 직접적으로 접근하는 것을 방지하기 위한 용도로 사용하곤 한다. Color MixColors(Color a, Color b){ return Color((a.GetR() + b.GetR()) / 2, (a.GetG() + b.GetG()) / 2, (a.GetB() + b.GetB()) / 2);} 이런식으로 클래스 밖에 함수를 만들고 각 클래스 변수의 필드값을 함수로 호출해서 연산할 수 있다. 정적으로 함수를 바꾸면 좀 더 간단하게 사용할 수 있다. static Color MixColors(Color a, Color b) { return Color((a.r + b.r)..
- 초기화 목록 안했을 때Complex() { real = 0; imag = 0;}Complex(double real_, double imag_) { real = real_; imag = imag_;} - 초기화 목록Complex() : real(0), imag(0) {}Complex(double real_, double imag_) : real(real_), imag(imag_){} 보이는 것과 같이 일단 위의 코드를 단 두 줄로 표현할 수 있고 그만큼 효율성도 좋다. 간단하게 둘의 차이를 말해보자면 Complex c; Complex c = Complex(1,2); c = Complex(1, 2); 위의 차이와 같다. 즉, 명령어를 2번 실행하는 것과 1번 실행하는 것의 차이이며, 첫 번째는 메모리에 ..
C++에서는 객체를 생성할 때 자동으로 호출되는 생성자와 객체가 소멸될 때 자동으로 호출되는 소멸자라는 것이 있다. 생성자는 멤버 변수 초기화할 때, 소멸자는 메모리에서 해제될 때(?) 사용하는 용도로 보인다. #include using namespace std; class MyClass {public: MyClass() { // 생성자 cout
- 클래스 vs 구조체 : 클래스는 Default가 private타입, 구조체는 public타입이므로 코드 작성 시 명시를 안해주면 각각의 Default로 정해진다. 나머지는 아직 차이를 모르겠다. struct TV{ private: bool powerOn; int ch, vol; public: // default void on() {} void off() {} void setCh(int chl) {} void setVol(int volume){}}; class TV{ private: // default bool powerOn; int ch, vol; public: void on() {} void off() {} void setCh(int chl) {} void setVol(int volume){}}; ..
1. 선언 : namespace는 전역변수처럼 main 문 밖에서 선언할 수 있다. 또는 기존에 내장되어 있는 namespace를 사용할 수도 있다. ex) std 선언하는 방식은 함수를 만드는 것과 비슷하지만 이름뒤에 ( )와 파라미터가 필요없다는 점이다. 또 함수처럼 선언만 해주고 main 함수 다음에 코드를 쓸 수 있다. void set();namespace doodle { int n; void set();}namespace google { int n; void set();} int main() {} void set() { n = 10; } namespace doodle { int n; void set() { n = 20; }}namespace google { int n; void set() { :..