일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Direct2D
- 배열
- c#
- 포인터
- 김성엽
- CS
- 알고리즘
- doit코틀린프로그래밍
- Desktop
- 이지스퍼블리싱
- 연산자
- Win32
- c++
- c
- Tips강좌
- 리뷰
- 프로그래밍
- 백준
- Kotlin
- Tips프로그래밍강좌
- Javascript
- 문법
- Programming
- Windows
- 지식나눔강좌
- VS ERROR
- 함수
- Visual Studio
- tipssoft
- 티스토리
- Yesterday
- Today
- Total
목록외부활동/TIPS 19th (12)
F.R.I.D.A.Y.
"바인딩한다" 라는 말은 어떤 변수에 값을 대입할 때 이러한 일련의 과정을 바인딩이라고 한다. C++ 객체지향프로그래머들이 반드시 알고있어야할 코딩의정석에서- TIPS에서 과제로 받아왔던걸 책 읽다가 봐서 생각나서 올려봄.
1. 다형성 Polymorphism, 즉 다형성은 간단히 설명하면 서로 다른 타입의 자료형이 하나의 자료형으로 캐스팅되어 전달되어도 서로 달리 동작하는 것을 말한다. 일단, 아래 코드를 보자. #include using namespace std; class A { public: void JOB() { cout #include using namespace std; class chair { public: void typePrint() { cout
1. 접근 제한자 이전 시간에 짧게 접근 제한자라는 것에 대해 언급한 적이 있다. C++의 클래스는 접근 제한자라는 것을 지원하는데 이 접근 제한자는 말 그대로 어떠한 대상이 접근하는 것을 제한하는 것을 의미한다. 아는 사람은 집에 들여보내주지만, 모르는 사람은 집에 들여보내주지 않는 것, 사적인 정보는 다른 사람들과 공유하지 않는 것과 마찬가지로 보면 된다. 접근 제한자는 다음과 같은것이 있다. 접근 제한자 의미 private 외부에서 멤버에 접근하지 못함. 클래스 내부에서만 사용 가능. protected 자신으로부터 파생되지 않은 외부에서 접근하지 못함. (제약적 개방) 자신과 자신으로부터 파생된 클래스 내부에서만 사용 가능. public 외부에서 멤버에 접근할 수 있음. (완전 개방) 외부에서 클래..
1. 구조체 정렬 구조체를 간단히 설명하면 변수들의 집합으로 보면 된다. 그렇다면 구조체의 크기는 어떻게 될까? 구조체 안에 선언된 변수 크기의 합일까? 반은 맞고 반은 틀리다고 볼 수 있다. 시대가 발전하면서 자료를 어떻게 다루어야 더 효율적으로 다룰 수 있는지에 대한 연구와 관련된 이론이 나오게 되었다. 현재의 구조체 크기도 이러한 발전의 결과물로서, 다음 코드를 보자. struct A { char a; // 1 Byte short c; // 2 Byte int d; // 4 Byte }; 다시, 위 코드에서 [ b ]변수를 지웠을 때, 네가지 정렬방식을 순서대로 도식화 하면 다음과 같아진다. Visual Studio의 경우에는 8바이트 정렬을 기본으로 한다. 설정을 바꾸고 싶다면 아래 옵션을 변경해..
1. typedef 이전에 [ #define ]에 대한 글이 한번 적혔다. 이번 [ typedef ]는 전처리기 구문인 [ #define ]과는 비슷하면서도 다르다. 차이는 후술하고 먼저 [ typedef ]에 대해 알아보자. [ typedef ]는 사용자 정의 데이터형을 생성하는 문법으로, C언어의 정식 문법이다. 기본적인 사용볍은 다음과 같다. #define _CRT_SECURE_NO_WARNINGS #include void PrintAge(unsigned char age) { printf("%hhu\n", age); } void InputAge(unsigned char *age) { printf("나이를 입력하세요 : "); scanf("%hhu", age); } int main(void) { un..
1. 프로그램? 프로세스? 어디서는 프로그램, 어디서는 프로세스라고 하는 경우가 있다. 컴퓨터에 큰 관심이 없는 사람들은 두 단어를 같은 개념으로 생각할 수 있지만, 실제로 두 단어는 다른 의미를 가진다. 프로그램>> 실행 파일, 확장자가 [ .exe ]로 이뤄진 파일을 말한다. 프로세스>> 실행 파일, 즉 위에서 프로그램이라고 했던 파일을 운영체제의 로더가 메모리에 불러올 때, CPU가 해당 파일에 있는 명령어를 실행할 수 있도록 재배치 해 적재된 것. 즉, 프로그램은 간단히 명령어의 집합을 파일로 구성해놓은 것이고, 프로세스는 이러한 파일을 실제 사용할 수 있도록 재구성한 것이라고 생각하면 된다. 운영체제의 로더가 파일을 불러오게 되면, 해당 파일은 메모리상에 몇가지 구조로 나뉘어 적재가 된다. 아래..
1. 포인터 상수 일반 변수와 마찬가지로 포인터도 선언시에 상수로 선언할 수 있다. 종류는 다음과 같다. void swap(int *pa, int *pb){ int temp = *pa; *pa = *pb; // check *pb = temp; } 두 변수의 값을 변경해주는 코드를 작성한다고 하면, 위 코드처럼 작성을 할 수 있다. 이 때, [ check ] 줄에서 [ * ]를 하나만 누락한 경우, 즉 pa = pb; //시맨틱 오류 발생. 이러한 문제를 해결하기 위해 [ pa ] [ pb ]의 값을 변경하지 못하도록 int *와 변수명에 const를 붙여준다. int *p1 = (int *)100; int *p2 = (int *)120; p2 - p1; //5 주의해야 할 점은, 포인터의 자료형이 다른 ..
1. 시프트 연산에서 주의아래 코드를 보자 a = a > 3; 밑줄 친 부분에서 이미 int로 캐스팅이 이뤄져 [ 0001 1011 ]를 5를 넘기면 [ 0110 0000 ]가 되는 것이 아니라 [ 0000 0000 0000 0000 0000 0011 0110 0000 ]( 864 )가 되고 여기서 다시 [ 0000 0000 0000 0000 0000 0000 0110 1100 ]이 되어 108이 된다. 즉, 연산과정에서는 [ int ] 형식으로 값이 처리되고 a에 집어 넣을 때 char로 형변환, 정확히는 LSB에 가까운 1 Byte에 해당하는 값만 저장되어 값이 달리 나오게 된다. 따라서 같은 값을 유도하고 싶다면 int data[2][3]; for (int i = 0; i < 2; i++) { fo..
1. 비트 연산자 비트 연산자란 어떤 값을 비트 단위로 계산하는 연산자로, 일반적인 연산자와 달리 각 비트끼리 연산을 행한다. 비트 연산자는 다음으로 이루어져 있다. 연산자 의미 예시 [식 - 결과] & 비트 AND : 두 값 모두 1이어야 1 반환 0101 & 1111 0101 | 비트 OR : 하나라도 1이면 1 반환 0101 | 1111 1111 ^ 비트 XOR : 서로 반대인 경우에 1 반환 0101 ^ 1111 1010 비트 연산자는 단항 연산자처럼 번역이 되기 때문에 이항 연산자에 비해 속도면에서 이득을 볼 수 있다. 비트 연산자를 사용하면 다음과 같은 문제도 풀 수 있다. Q. 몇 번째 비트가 켜져 있는가? (켜짐 : 1, 꺼짐 : 0) 다음과 같은 코드를 통해 몇번 비트가 켜졌는지 알 수 ..
2018/06/29 - [외부활동/TIPS 19th] - [TIPS 19TH] 2018.06.28. (목) 이전에 이어서. printf에서 실수형을 출력할 때, %f %lf를 주로 사용하는데, %lf의 문제점은 불필요한 자릿수까지 출력해주는 것이다. 이를 보완하기 위해 %g를 사용해 실수를 출력한다. printf("%c %d", 65, 65); // 출력 : A 65 똑같이 65를 출력하지만, printf는 값보다 어떻게 출력한것인지에 더 집중하기 때문에 전자는 char 형식의 'A'로, 후자는 int의 숫자 65를 출력한다. Q. "65를 출력할 때 서식지정자를 달리 해서 출력해도 상관없다면 [ 3.14 ]를 %c나 %d 등으로 출력해도 되지 않을까?" 안된다. [ %c ], [ %d ] 등은 어떤 방..