일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 이분그래프
- playground배열
- 제거된값 첨부하기
- 그래프2
- 아이엔이야기
- 청년도배사 이야기
- 무소의뿔
- 다자녀장학금
- 오일러투어
- 직선의방정식
- 숫타니파아타
- 합의정리
- 등록금0원
- wxMaxima install for mac os
- 정보처리기사공부방법
- 맥북에서 wxMaxima 설치
- 쌍대성원리
- 허스켈그래프
- 나르시스트
- 티스토리챌린지
- 배윤슬
- 이런 사람에게 "절대" 돈과 시간 쓰지 마세요. (이헌주 교수 3부)
- 윤파고
- wxmaxima
- 오블완
- 데이터베이스시스템
- 2023채용박람회
- 집착형
- kgol
- 최단경로문제
- Today
- Total
사적공간
홍정모 C++(섹션 1~3) 본문
#include<iostream>
using namespace std;
int main() {
cout << "\a"; // 소리출력
return 0;
}
c++은 함수 안에 함수가 선언 안됨.
변수명은 대문자로 잘 안쓴다.
헝가리안 표기법이 거의 의미 없어지는 시대가 오고 있음.
범위
기본적인 서식 맞추기
탭으로 보기좋게 정리
선언과 정의의 분리
함수 엿보기 기능 ( 다른 파일에 흩어져 있을 때 유용함)
헤더파일 만들기
코드를 여러 파일로 쪼개는 법
iostream 있는 곳
헤더파일을 폴더를 만들어 그 안에 옮기고,
원래 옮기면 비주얼 스튜디오에서 인식이 안되어서 추가작업으로 remove를 해주고 #include 에서 새로 생성한 폴더까지 경로로 넣어주어야 하는데 지금 시점에서는 그냥 됨.
그 과정
헤더에 다 포함시켜서 해도 되고,
나중에 코딩하고 헤더파일을 정리하는 과정을 여러번 반복하게 됨.
헤더가드
강의 노트로 북마크 해놓음
몸체가 없으면 링킹에러를 일으킴.
함수명이 있으면 빌드는 가능
-> 중복될 경우에 한번만 인클루드를 해라 (이게 헤더가드)
#pragma once 가 있으면 ifndef ~ endif 와 똑같이 동작함.
에러가 뜨지만 컴파일은 됨...
조금 더 공부해야봐야 할 듯
네임스페이스(명칭공간)
이렇게 쓰는 것도 가능.
네임스페이스 안에 네임스페이스 추가 및 활용
<iostream> 안을 보면 std 공간 안에 cin, cout 이 정의되 었다.
전처리기
빌드 들어가기 전 들어감.
멀티 플랫폼에서 많이 씀.
#ifdef ~ #endif
#ifndef ~ #endif
define 이 교체해주는 건 맞는데 전처리기 안에선 교체를 안함.
define의 효과는 작성된 파일 안에서만 영향을 끼침.
그래서 아래는 오렌지가 출력됨.
기본 자료형 소개
딥러닝은 플로트, 파이썬 기본은 더블로 쓰고 있음....
객체지향 프로그래밍 할 때 중요한 초기화 방법// 내가 만든 데이터 타입을 초기화 할 때 많이 씀.
다른 사람들의 문법을 읽고 이해하기 위해서라도 다양한 문법을 읽고 이해하기.
정수형
사이즈 제한이 있고, 그 제한을 넘어가면 문제가 생긴다는 것이 중요함.
고정 너비 정수
무치형(void, 보이드)
정수형 변수의 주소
실수형 변수의 주소
주소를 표현하는 데이터 양은 동일함. 타입은 달라도
그대서 둘다 void*로 형변환이 가능함.
부동소수점 수
Floating Point Number
부동소수점 쓸 때 발생하는 중요한 오류 내용
boolean 자료형과 조건문 if
문자형 char
<변환할 대상이 되는 타입>
97
a
스테틱 캐스트를 해도 원래 변수에 저장된 값이 바뀌진 않는다.
endl 과 \n 차이
\n 은 줄바꿈
endl; 는 버퍼에 있는 내용을 일단 다 표시해라.
std:: flush : 버퍼에 있는 걸 다 비우고, 줄바꿈 안해.
리터럴 상수
심볼릭 상수
#include <iostream>
#include<iomanip>
#include<limits>
using namespace std;
int main()
{
const int my_const(123); // 컴파일 상수 ( 컴파일 할 때 값이 결정됨)
int number;
cin >> number;
const int special_number(number); // 런타임 상수(런타임 할 때 값이 결정됨)
return 0;
}
컴파일과 런타임의 차이를 이해해야 함.
#include <iostream>
#include<iomanip>
#include<limits>
using namespace std;
int main()
{
constexpr int my_const(123); // constexpr는 컴파일 시간에 값이 결정되는 상수라는 걸 컴파일하면서 체크함.
int number;
cin >> number;
const int special_number(number); // 런타임 상수(런타임 할 때 값이 결정됨)
return 0;
}
#define은 해당 파일 전체에 영향을 미치지만
const는 블록 내에서만 영향을 미치게 할 수 있음.
그 외 차이가 있음
const가 다양하게 쓰일 때가 있음. 그래서 몰아놓기도 함.
이렇게 따로 헤더파일을 만들어서 모아놓고
아래처럼 쓸 수 있음.
'KNOU_CS > C++' 카테고리의 다른 글
for each 배열 값 출력 (0) | 2024.12.12 |
---|---|
홍정모C++(섹션 5~ 섹션 17 6.11 메모리 동적할당 new 와 delete) (0) | 2024.11.30 |
3x3 배열에 문자 주석 아래 행 순서부터 출력 (0) | 2024.11.01 |
3행 10열 문자배열 각 행에 문자를 입력받고, VECT 배열에 저장된 문자가 있는지 확인(행마다 다른 길이로 탐색) (0) | 2024.11.01 |
선택정렬 (0) | 2024.10.30 |