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; 을 잊 지 않도록 주의 하 세 요.