C++primer 학습 노트 제3 장 문자열,벡터,배열
6037 단어 C++학습 노트
using std::cin
은 네 임 스페이스 std
의 이름 cin
을 사용 한 다 는 뜻 이다.using
성명 이 포함 되 어 서 는 안 된다.string
#include
,그리고 using std::string;
s.emtpy()
이 비어 있 는 지 여부;s.size()
사이즈;string::size_type
은 size
의 유형 을 정의 했다.+
:문자열 연결;str[i]
왼쪽 값 으로 쓸 수 있 습 니 다.getline(is, s)
is 에서 한 줄 을 읽 어 s
에 게 부여 하고 is
으로 돌아 갑 니 다., >=
사전 의 순 서 를 문자 로 비교 하여 대소 문자 에 민감 합 니 다.getline
:공백 부 호 를 포함 하여 전체 줄 을 읽 습 니 다.for (auto c: str)
또는 for (auto &c: str)
참조 로 문자열 의 문 자 를 직접 변경 합 니 다.대상 초기 화
string
:string s1;
빈 문자열 입 니 다.string s1 = s2;
s1
은 s2
의 사본 이다.string s1 = "value";
등가 string s1("value");
。 string s1(n, 'c');
에서 n 개의'c'문자 로 구 성 된 문자열 로 초기 화 합 니 다.=
을 사용 하여 변 수 를 초기 화하 고 컴 파일 러 는 등호 오른쪽 에 있 는 초기 값 을 새로 만 든 대상 에 복사 합 니 다.vector(임의의 형식의 동적 배열 을 저장 하여 데 이 터 를 증가 하고 압축 할 수 있 습 니 다)
#include
그리고 using std::vector;
vector
은 템 플 릿 입 니 다. vector
은 한 유형 이다.vector ivec
.vector v = {"a", "an", "the"}
(C++11) v.push_back(e)
끝부분 에 원 소 를 추가 합 니 다.v[i]
을 조작 하고 이미 존재 하 는 요 소 를 정확하게 알 고 아래 표 시 를 수행 할 수 있 습 니 다.v.emtpy()
비어 있 는 지 여부 입 니 다.v.size()
사이즈교체 기 iterator
vector::iterator iter
。 v.begin();
첫 번 째 요 소 를 가리 키 는 교체 기 를 되 돌려 줍 니 다.v.end();
마지막 요 소 를 가리 키 는 다음(보초병,꼬리)의 교체 기 를 되 돌려 줍 니 다.begin()
과 end()
은 같은 교체 기 를 되 돌려 주 었 고 모두 꼬리 교체 기 였 다.*
을 사용 하여 교체 기 가 가리 키 는 요 소 를 방문 합 니 다.!=
을 사용 하 는 습관(범 형 프로 그래 밍)을 길 렀 다.it->mem
등가 (*it).mem
표준 용기 교체 기의 연산 자
연산 자
해명 하 다.
*iter
교체 기
iter
이 가리 키 는 요소 의 인용 을 되 돌려 줍 니 다.iter->mem
등가
(*iter).mem
++iter
으로 용기 의 다음 요 소 를 표시 합 니 다.iter
--iter
으로 용기 의 이전 요 소 를 표시 합 니 다.iter
두 개의 교체 기 가 같 는 지 아 닌 지 를 판단 하 다.
배열
iter1 == iter2
,길 이 는 const 표현 식 또는 쓰 지 않 고 컴 파일 러 가 스스로 추측 하도록 해 야 합 니 다.char input_buffer[buffer_size];
。 size_t
。 char a[] = "hello";
: vector
。 배열 과 포인터
C 스타일 문자열
int a[] = {1,2,3,4,5}; vector v(begin(a), end(a));
:
、 strlen(p)
、 strcmp(p1, p2)
、 strcat(p1, p2)
。 strcpy(p1, p2)
은 C 스타일 문자열 을 사용 하 는 것 보다 안전 하고 효율 적 입 니 다.string
적중 하 다 string
: cstring
。 다 차원 배열
const char *str = s.c_str();
。 포인터 vs 인용
동적 배열
int ia[3][4] = {{0,1,2,3}, ...}
과 new
표현 과 c 에서 delete
과 malloc
과 유사 한 기능,즉 더미(자유 저장 소)에서 저장 공간 을 분배 하 는 것 이다.free
10 은 하나의 변수 로 대 체 될 수 있다.int *pia = new int[10];
,delete [] pia;
을 잊 지 않도록 주의 하 세 요.