전체 글

전체 글

    클래스의 멤버 변수나 멤버 함수를 static으로 처리하는 경우

    클래스의 멤버 변수나 멤버 함수를 static으로 처리하는 경우

    클래스 내에서 멤버 변수 앞에 static을 붙인걸 정적 멤버 변수라고 합니다. 클래스에서 선언했던 모든 멤버 변수들은 "객체 단위의 멤버"로 객체들 마다 각기 다른 값을 가질 수 있는 독립된 변수입니다. 예를 들어, Point라는 클래스를 만들고 객체 p1,p2,p3라는 객체를 선언하면 메모리 공간이 각각 생깁니다. 하지만 정적 멤버 변수는 객체마다가 아닌 클래스 단위로 존재합니다. 그렇다면, 왜 정적 멤버 변수가 필요할까요? 이유는 프로그램에서 Point 클래스의 객체가 현재 몇 개인지 알고 싶을 때 클래스의 버전이나 개발 정보를 클래스에 남기고 싶을 때 등등이 있습니다. 정적 멤버 변수에 대해 더 자세하게 말하면 클래스 내부에서 정의하지만 일반 멤버 변수와 달리 객체마다 생기는 자료가 아니라 클래스..

    C++의 Static을 알아보자

    C++의 Static을 알아보자

    static은 정말 중요합니다. 제가 느끼기로 편리함과 위험성을 동시에 가지지만 제대로 알고 써야하기 때문입니다. 이 static 키워드는 변수나 함수에 대해 지정할 수 있는데, 다음과 같이 세가지 경우가 있습니다. 지역변수를 static으로 처리하는 경우 전역변수나 함수를 static으로 처리하는 경우 클래스의 멤버 변수나 멤버 함수를 static으로 처리하는 경우 세 개 모두 자주 쓰는 것 같습니다. 마지막 세 번째는 이 글에서 말고 클래스 카테고리에서 다루겠습니다. 링크를 걸어두겠습니다. (저는 이 책을 보기 전에 static을 구별하는 법을 모르고 있었습니다. 그냥 값이 유지되는 변수로만 생각하고 있었어요 이제 알았으니 됬죠.. 뭐...!( •̀ ω •́ )✧) 1. 정적 지역변수 변수의 가시 범..

    비주얼 스튜디오 for문 빠르게 하는 팁

    for문을 빠르게 내가 원하는 대로 수정하는 방법 동영상 for를 적으면 비주얼 스튜디오의 intellisense가 나오고, tab을 눌러서 일단 생성해줍니다. 그리고 자료형을 int 같은 걸로 바꾸고 다시 tab을 눌러 변수 이름을 변경 할 수 있습니다. 하나만 변경해도 for문의 모든 변수 이름을 변경할 수 있습니다. (o>ᗜ

    변수의 가시 범위와 생존기간

    변수의 가시 범위와 생존기간

    변수와 함수는 밀접하게 관련되어 있습니다. 예를 들어, 함수가 끝나면 지역 함수 내의 변수들과 매개변수들은 모두 자동으로 소멸됩니다. 모든 변수는 다음의 세 가지 속성이 있고, 이러한 속성에 따라 여러 가지로 분류할 수 있습니다. 범위(visibility): 코드 내에서 변수가 의미 있는 영역 생존기간(lifetime): 만들어지는 시점과 소멸되는 시점 연결(linkage): 외부에서 선언된 변수를 사용하는 방법 지역변수와 전역변수 변수는 의미를 갖는 범위에 따라 지역변수와 전역변수로 나눌 수 있습니다. 지역(local) 변수 중괄호 { }로 정의되는 블록 안에서 선언되는 변수로 블록 범위(block scope)를 갖는다. 함수 안에서 선언된 변수가 대표적인데, 변수가 선언된 블록(함수 몸체) 안에서만 ..

    디폴트 매개변수

    디폴트 매개변수

    C++함수에서는 매개변수에 대한 기본(default) 값을 지정할 수 있습니다. 만약 함수의 매개변수에 대응하는 인자가 함수의 호출 시에 생략되면 매개변수에 기본 값이 복사됩니다. 이것을 함수의 기본(디폴트) 매개변수(default parameter)라고 합니다. 주의할 점은디폴트 매개변수는 맨 뒤에서부터 앞쪽으로 순서대로 채워서만 정의할 수 있습니다. void add(int p1 = 10, int p2 = 20, int p3 = 30); //가능 void add(int p1, int p2 = 20, int p3 = 30); //가능 void add(int p1, int p2, int p3 = 30); //가능 void add(int p1 = 10, int p2 = 20, int p3); //불가능 vo..

    내 소개

    내 소개

    블로그를 적은 지 일주일 만에 제 소개를 적는 거 같습니다. 지금 저는 3학년 1학기를 마치고 군 휴학을 낸 대학생이자, 한 복지관에서 공익 일을 하는 공익이자, 홍익대학교에 편입하여 들어간 19학번 마동찬이라고 합니다. 저는 고등학생 때까지 아무 목표나 꿈이 없었습니다. 그저 하늘 위에 많이 있고 싶단 짧은 생각으로 항공기 조종사라는 희망직업만 3년 내내 적었으니까 말 다했죠..ㅋㅋㅋㅋ(´。_。`) 그런 제가 대학교 학과를 정할 때 무슨 생각인지 코딩이 너무 멋있어 보이는 거예요. 막 무슨 유창하게 어려운 전문용어를 설명을 하고 영어와 알 수 없는 것들이 막 적힌 화면을 보여주면서 하는 상상이 문뜩 들더라고요. 지금 생각하면 저는 그때까지 아무 매력도 없고 키 큰 거 빼고 아무 특징도 없어서, 먼가 멋..

    라이브러리 함수와 사용자 정의 함수

    라이브러리 함수와 사용자 정의 함수

    #라이브러리 함수 미리 만들어져서 제공되는 함수 printf(), getch() 등이 대표적인 라이브러리 함수이다. 다음은 라이브러리 함수들의 예를 표로 보여준다. 함수 원형 헤더 파일 용도 및 사용 예 iny getch(); 키보드에서 하나의 문자를 읽어서 반환함 예)ch = getch(); double cos( double x ); x에 대한 코사인 값을 계산하여 반환함 예)val = cos(3.14); double pow( double x, int y ); x의 y승을 계산하여 반환함 예)result = pow(x,10); int printf( const char *format [, argument]... ); "format"에서 지정하는 형태로 화면에 출력함 매개변수는 없을 수도 있고 여러 개일 ..

    parameter와 argument 차이점

    parameter와 argument 차이점

    본론부터 말하자면 parameter은 매개변수 즉, 함수 혹은 메서드 정의에서 나열되는 변수 명입니다. 반면 argument는 전달인자 즉, 함수 혹은 메서드를 호출할 때, 전달 혹은 입력되는 실제 값입니다. 단어 번역 의미 Parameter 매개변수 함수와 메서드 입력 변수(Variable) Argument 전달인자,인수 함수와 메서드의 입력 값(Value) Parmeter와 Arguement의 예시 parameter(매개변수) 다음 add 함수 정의에서 variable1과 variable2는 parameter입니다. int Add(variable1, variable2) { return variable1 + variable2; //매개변수 variable1과 variable2를 더하여 반환해준다 } a..

    함수란?

    함수(function)는 어떤 입력을 받아서 원하는 처리를 한 후 결과를 반환함. 가끔은 입력이 없거나(not parameter, not argument) 결과를 직접 반환하지 않는(void return) 함수도 있다. 또한, 함수(function)는 객체지향 언어에서 메소드(method)라고도 불림. 같은 코드들을 반복적으로 쓰이는 문제를 해결한다. 반복되는 코드를 함수로 만들어 사용하면 중복을 최소화하고 코드양을 줄인다. 이것은 개발은 물론이고 코드의 수정이나 유지 보수를 훨씬 편하고 쉽게 한다. 크고 복잡한 문제를 작고 쉬운 문제들로 나누어 해결하기 쉽게 한다. 즉, 하나의 큰 프로그램을 작은 부분들로 분리하여 구조적인 프로그래밍이 가능하게 한다. 이러한 문제 해결 방법을 분할 정복(divide a..