일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- C
- 알고리즘공부
- algorithmtraining
- 프로그래머스 알고리즘 공부
- 서평
- 지혜를가진흑곰
- 채권
- 재테크
- JavaScript
- 백준알고리즘
- 돈
- 알고리즘 공부
- 주식
- Java
- 투자
- 프로그래밍언어
- 성분
- algorithmTest
- 책을알려주는남자
- 화장품
- 경제
- algorithmStudy
- 독서
- 독후감
- C++
- 자바
- 알고리즘트레이닝
- 자바스크립트
- 다독
- 책알남
- Today
- Total
목록[Snow-ball]프로그래밍(컴퓨터) (331)
탁월함은 어떻게 나오는가?
복사 생성자(copy constructor)란 같은 클래스의 객체를 복사하여 객체를 만드는 생성자입니다. 만일 복사 생성자를 명시적으로 선언하지 않으면 컴파일러는 원본 객체의 멤버들을 그대로 복사하여 객체를 정의하는 복사 생성자를 자동으로 만듭니다. 복사 생성자는 파라미터를 자기 클래스 타입의 참조 변수 하나만 가지며, 때문에 하나의 복사 생성자만 존재할 수 있습니다. 복사에는 두 가지 복사가 존재하는데, 1.얕은 복사(swallow copy)와 2.깊은 복사(deep copy)가 있습니다. 두 가지 복사를 나누는 핵심은 메모리의 할당에 있다. 멤버 변수에는 다양한 변수들이 존재하며, primitive type이 있을 수도 있고, 다른 클래스의 객체가 존재 할 수도 있고, 포인터가 존재 할 수도 있습니다..
C++를 하다보면 여러가지 오류가 발생하게 됩니다. 그 중에서도 자주 볼 수 있는 Eroor C4996 : strcpy와 strcat 오류에 대해서 알아보겠습니다. 작성하다보면 삼각도안의 !가 들어가있는 오류가 발생합니다. 오류 C4996 'strcpy' : This function or variable may be unsafe. Consider using strcpy_s intead. To disable deprecation, us _CRT_SECURE_NO_WARNINGS. See online hele of details. 결국은 이 함수 또는 변수는 안전하지 않을 수 있으니, strcpy_s 사용하거나 오류가 뜨지않을려면_CRT_SECURE_NO_WARNINings를 사용하세요. 정도로 해석이 가능..
for문 우리가 어떤일을 몇번 반복하고 싶을때 사용하면 좋습니다. for문은 초기화문장 > 반복조건 > 반복할_문장 > 증감_문장 > 반복조건 > 반복한_문장 > 증감_문장 으로 계속 순환합니다. 반복조건이 거짓이 될때까지. 그리고 C++11에는 범위 기반 for 루프라는 구문이 추가되었습니다. 범위 기반 for 루프는 배열과 같이 여러 원소로 구성된 데이터 집합에 대해 첫 원소부터 마지막 원소까지 반복하여 실행하도록 지시하는 것으로 형식은 다음과 같습니다. 밑에 예는 범위기반 for 루프를 이용하여 배열 arr의 모든 원소의 값을 sum에 합산하도록 반복한것입니다. 이 때 a는 arr의 각각의 원소의 값을 받으며, 이 값이 합산됩니다. 만약에 배열안의 모든 값을 1씩 증가시키기를 원한다면, 참조를 사용..
if문 if문장은 조건의 참, 거짓에 따라 문장을 선택적으로 실행할 수 있도록 하는 구문입니다. 문장의 기본 형식은 다음과 같습니다. 위의 기준으로 a, b중 커다란 숫자를 출력하게 하기위해서는 로 코딩을 작성하게 되면 a가 b보다 클 때 [cout
Counter클래스 계수기를 나타내는 클래스를 선언합니다. 계수기 객체는 reset을 함으로써 값을 0으로 지울 수 있고, count를 함으로써 값을 1씩 증가시킬 수 있으며, 현재의 계수기 값을 알려 줄 수 있어야 합니다. 일반적으로 클래스를 선언할 때는 2개의 파일을 만듭니다. 하나는 클래스 선언문이 포함된 헤더 파일이고, 다른 하나는 클래스의 멤버함수들의 정의를 담고 있는 소스 프로그램 파일입니다. 파일의 명칭은 Counter클래스이기 때문에 이름은 각각 Counter.h , Counter.cpp 등으로 만드는 것이 일반적입니다. 밑에 Counter.h의 1행, 2행, 15행의 선행처리기 지시어는 동일한 헤더 파일이 하나의 번역 단위에 여러 번 중복 삽입되는 것을 막기 위한 것입니다. 프로그램을 작..
객체(object)란? * 소프트웨어 시스템 안의 어떠한 대상을 표현한 것 - 정해진 처리를 수행함 > 행위, 메소드, 멤버함수 - 처리 과정에 따라 내부상태가 변화할 수 있음 > 속성, 데이터 멤버 - 다른 객체와 상호작용 할 수 있음 > 메시지 전달(멤버함수 호출) 클래스(class)란? * 객체의 설계도 * 객체가 포함할 속성에 대한 명세와 메소드의 정의를 포함함. 캡슐화(encapsulation)란? * 객체 내부의 상세한 구현부분과 외부사용자의 관점을 분리함. * 내부속성등 구현에 대한 부분은 공개하지 않으며(정보은닉), 객체 외부에서는 공개된 인터페이스를 통해 객체를 사용할 수 있음 > 정보은닉 : 객체 내부의 데이터는 감춰져 있어 객체 외부의 사용자가 직접 액세스 할 수 없으며, 공개된 객체..
함수의 정의 함수란? - 필요한 작업을 수행하는 프로그램 문장들을 하나의 단위로 모아 놓고 이름을 부여한 것입니다. - 함수에 정의된 처리가 필요한 부분에서 호출하여 사용합니다. - 매개변수를 통하여 함수에서 처리할 데이터(인수)를 전달합니다. - 함수는 정해진 처리를 한 후 결과값을 반환할 수 있습니다. - 함수의 실행을 완료하면 호출한 곳으로 복귀합니다. - C++ 프로그램은 함수를 기본 단위로 하여 구성되었습니다. return 명령 - 함수를 마치고 함수를 호출한 곳으로 복귀하는 명령입니다. - 함수 안의 어느 곳이든 복귀를 위해 사용할 수 있습니다. - return Expression은 함수 머리부에 선언한 Return Type과 일치하는 자료형의 수식 또는 묵시적 형 변환이 가능한 자료형의 수식..
* inline함수 ( inline함수는 강제가 아니라 요청하는 함수라서 inline이 적용될 때만 사용이 됩니다) - 함수 호출 절차를 따르지 않고 함수 호출 위치에 함수의 처리문장이 삽입되게 번역하도록 선언된 함수입니다. - 함수를 사용함으로써 얻을 수 있는 모듈화의 장점을 살리면서, 함수 호출에 따른 부수적인 처리시간이 생략됩니다. - 함수 호출 루틴으로 부터 함수로 넘어가는 부분의 코드 최적화가 가능해집니다 > 매우 빈번히 호출되며 빠른실행이 요구되는 함수를 inline함수로 선언하면 성능을 높이는되 도움됩니다. * inline 함수의 선언 위치 일반 함수는 선언과 함께 함수의 정의가 이루어지는 것이므로, 한 프로젝트 내에서는 1회만 선언합니다. 만일 여러 개의 소스 프로그램 파일에서 호출해야 한..