ch03. 함수와 문자열
03-1. 함수
-특정 기능 수행하여 결과값 반환하는 함수
[함수 정의 형식]
반환형 함수이름 (매개변수) {
//내부 작성
}
[함수 원형 정의]
-함수 사용하기 전에 컴파일러에게 사용할 함수 정보 알려주는 것
-내부 실행부가 없고 ;(세미콜론)만 붙여줘서 함수 원형 정의
반환형 함수이름 (매개변수) ;
[함수 매개변수에 인수 전달 방법]
(1) 값으로 호출 (call-by-value)
-인수의 값이 매개변수로 복사되어 전달
-원본 변수에는 영향 X
(2) 참조로 호출 (call-by-reference)
-원본 변수가 매개변수로 전달
-원본 변수 값에 영향 O (ㅇ참조자가 참조하는 원본변수의 값이 변경됨)
- C++: (포인터X) 참조자 선언하여 호출
&참조자: 원본변수에 대한 별명
ex) void modify(int &x, int &y) { ... } //인수로 받는 원본인수 대입
[중복함수]
-시그니처만 다르면 같은 이름의 함수 여러 개 정의 O
-시그니처: 매개변수의 개수, 타입, 순서
-다양한 대상에 대해 같은 처리 수행할 경우에 多 사용
[인라인 함수] : inline 키워드
-크기 작은 함수 호출 시 생기는 오버헤드 줄이기 위해
-컴파일러는 inline함수 에 대해서는 함수 생성 없이 호출한 위치로 해당 코드 복붙해서 전달
-해당 함수 호출 시 오버헤드가 사라져 실행 빨라짐
[디폴트 인수]
-인수 전달없이 호출할 경우, 기본 디폴트값으로 내부 함수 실행됨
-함수 정의할 때 매개변수에 디폴트값 주어 정의해 두면,
이후 인수없이 호출해도 디폴트값으로 실행된다.
-반드시 디폴트 인수 지정 : 왼쪽 <- 오른쪽
-디폴트 인수는 가장 마지막 인수부터 지정
03-2. 문자열
[String 클래스]
-char배열로 문자열을 처리하는 C언어와 달리,
-C++은 String 클래스 이용해서 문자열을 처리한다.
[string 객체]
-자료형의 일종으로 클래스를 사용하여 변수 정의하면 객체가 된다.
-string s; //문자열 객체 s 생성
-string s = “Hello World!”; //초기값 주면서 string객체 생성
-string s{“hello world!}; //c++11버전
[문자열 비교]
== : 두 문자열 동일 비교
>, < : 두 문자열 사전 순서로 비교
[string 클래스의 입출력]
1) cin>> str
공백 문자 입력시 입력 중단됨
2) getline(cin, str)
한 줄 단위로 내용을 읽음
3) get() 함수
한 문자씩 읽음
[string 클래스의 멤버함수 종류]
-객체의 멤버 함수 호출 : (.)도트 연산자 사용 호출
s[i] : I번째 위치의 문자 추출
size() : 문자열 길이 반환
empty(); 문자열 내부 공백 여부 -> T반환
insert(i, s2) : 문자열 속 I위치부터 s2문자열 삽입
remove(i, len) : 문자열 속 I위치부터 len길이 만큼 삭제
find(s2) : 문자열 속에서 s2문자열 시작위치 반환
find(i, s2) : 문자열 I위치부터 찾기 시작해서 s2문자열 시작위치 반환
[문자열의 배열]
-배열 요소값이 문자열로 저장되는 배열 형태
string list[] = { “철수”, “영희”, “호동”};
'C++, C언어 > [문법]_C++' 카테고리의 다른 글
C++_2주차_정리 (0) | 2021.12.20 |
---|---|
C++_1주차_정리 (0) | 2021.12.20 |
C++ 객체지향프로그래밍_Ch04정리 (0) | 2021.09.27 |
C++ 객체지향프로그래밍_Ch02정리 (0) | 2021.09.13 |
C++ 객체지향프로그래밍_Ch01정리 (0) | 2021.09.06 |